Beispiel #1
0
        private void SyncAbilityHit(SyncableVariable var, NetworkReader reader)
        {
            if (References.NetworkIdentity.isServer)
            {
                _nextSyncResults = new List <AbilityCastResult>();
            }
            int resultsCount = reader.ReadInt32();

            for (int i = 0; i < resultsCount; i++)
            {
                AbilityCastResult result = reader.ReadAbilityCastResult();

                if (References.NetworkIdentity.isServer)
                {
                    OnReceiveAbilityHit.Invoke(this, result);
                    result.CastData.FillResult(result);
                    _nextSyncResults.Add(result);
                    PinouNetworkManager.MainBehaviour.SetDirty(gameObject, SyncableVariable.EntityAbilityHit);
                }
                else if (References.NetworkIdentity.hasAuthority)
                {
                    OnReceiveAbilityHit.Invoke(this, result);
                    result.CastData.FillResult(result);
                }

                if (result.CastData.Caster == this)
                {
                    return;
                }

                OnAbilityHitResult.Invoke(this, result);
            }
        }
 private void SyncDeath(SyncableVariable var, NetworkReader reader)
 {
     OnDeath.Invoke(master, reader.ReadAbilityCastResult());
 }