Beispiel #1
0
        public override void OnEnter()
        {
            base.OnEnter();
            if (base.isAuthority)
            {
                // prepare anim
                netTriggerContainer = new ClientAnimatorTriggerContainer();
                netTriggerContainer.characterDirection = base.characterDirection.gameObject;
                // prepare network user
                thisInstance = base.GetComponent <NetworkIdentity>();
                thisUser     = NetworkUser.readOnlyInstancesList.Where(x => x.netId == thisInstance.netId).FirstOrDefault();

                // get animation time
                hitDuration = GetAnimationTime("seph_ground_combo");
                // play anim
                base.characterDirection.modelAnimator.SetTrigger("isGroundCombo1");
                netTriggerContainer.animName = "isGroundCombo1";
                NetServerRequestAnimTrigger.Invoke(netTriggerContainer, thisUser);

                // force aim
                base.StartAimMode(hitDuration);

                // damage coroutine
                thisSephiroth = base.gameObject.GetComponentInChildren <SephirothModelSwap>();
                thisSephiroth.StartCoroutine(PrimaryGroundCoroutine());
            }
        }
Beispiel #2
0
 private void RPCHandleClientAnimTrigger(NetworkUser arg1, ClientAnimatorTriggerContainer arg2)
 {
     try
     {
         arg2.Execute();
     }
     catch (Exception ex) { }
 }
Beispiel #3
0
 private void RPCHandleServerAnimTrigger(NetworkUser arg1, ClientAnimatorTriggerContainer arg2)
 {
     try
     {
         foreach (var user in NetworkUser.readOnlyInstancesList)
         {
             if (arg1 != null)
             {
                 if (arg1.netId == user.netId)
                 {
                     continue;                           // skip issuer as it happens client side
                 }
             }
             NetClientRequestAnimTrigger.Invoke(arg2, user);
         }
     }
     catch (Exception ex) { }
 }