Анимации не срабатывают... Debug.Log всегда пишет 0 я так понимаю на сервер не приходят данные переменной numCurAnim Вопрос почему?
Код
public class Move2DClient : MonoBehaviour {
public float speed = 4f; // speed является названой переменной
public Vector3 movement; // direction является названой переменой
Rigidbody2D playerRigidbody;
Animator anim;
GameObject bonusSpeed;
//private float lastSynchronizationTime = 0f; // переменные нужны для интерполяции
private float syncDelay = 0f;
private float syncTime = 0f;
private Quaternion rot; // поворот
private int numCurAnim;
private string s_anim;
void Awake ()
{
playerRigidbody = GetComponent <Rigidbody2D> ();
anim = GetComponent <Animator> ();
bonusSpeed = GameObject.FindGameObjectWithTag ("BonusSpeed");
}
void FixedUpdate ()
{ if (GetComponent<NetworkView> ().isMine) {
float h = Input.GetAxisRaw ("Horizontal");
float v = Input.GetAxisRaw ("Vertical");
Move (h, v);
}
}
void OnTriggerEnter2D ( Collider2D other)
{
if (other.gameObject.tag == "BonusSpeed")
{
Destroy( other.gameObject );
speed += 0.5f;
}
}
void Move (float h, float v)
{ if (GetComponent<NetworkView> ().isMine) {
movement.Set (h, v, 0);
movement = movement.normalized * speed * Time.deltaTime;
playerRigidbody.MovePosition (transform.position + movement);
}
}
void Update ()
{
if (GetComponent<NetworkView> ().isMine) {
if (Input.GetKeyDown (KeyCode.S)) {
anim.Play ("idle");
numCurAnim = 0;
}
if (Input.GetKeyDown (KeyCode.A)) {
anim.Play ("left");
numCurAnim = 1;
}
if (Input.GetKeyDown (KeyCode.W)) {
anim.Play ("zad");
numCurAnim = 2;
}
if (Input.GetKeyDown (KeyCode.D)) {
anim.Play ("right");
numCurAnim = 3;
}
} else {PlayNameAnim();
}
}
void OnSerializeNetworkView (BitStream stream, NetworkMessageInfo info) { //если это мы
if (stream.isWriting) {
stream.Serialize(ref numCurAnim);
} else {
stream.Serialize(ref numCurAnim);PlayNameAnim(); Debug.Log (numCurAnim+ "_client");
}
}
public void PlayNameAnim () {
print (numCurAnim);
switch (numCurAnim) {
case 0:
anim.Play ("idle");
break;
case 1:
anim.Play ("left");
break;
case 2:
anim.Play ("zad");
break;
case 3:
anim.Play ("right");
break;
}
}
}