using UnityEngine; using System.Collections; using System; public class NetworkSyncAnimation : MonoBehaviour { public enum AniStates { walk = 0, run, kick, punch, jump, jumpfall, idle, gotbit, gothit, walljump, deathfall, jetpackjump, ledgefall, buttstomp, jumpland } public AniStates currentAnimation = AniStates.idle; public AniStates lastAnimation = AniStates.idle; public void SyncAnimation(String animationValue) { currentAnimation = (AniStates)Enum.Parse(typeof(AniStates), animationValue); } // Update is called once per frame void Update () { if (lastAnimation != currentAnimation) { lastAnimation = currentAnimation; animation.CrossFade(Enum.GetName(typeof(AniStates), currentAnimation)); animation["run"].normalizedSpeed = 1.0F; animation["walk"].normalizedSpeed = 1.0F; } } void OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info) { if (stream.isWriting) { char ani = (char)currentAnimation; stream.Serialize(ref ani); } else { char ani = (char)0; stream.Serialize(ref ani); currentAnimation = (AniStates)ani; } } }