Ejemplo n.º 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);
            }
        }
Ejemplo n.º 2
0
        public override void ReceiveAbilityHit(AbilityCastResult result)
        {
            OnReceiveAbilityHit.Invoke(this, result);
            result.CastData.FillResult(result);

            OnAbilityHitResult.Invoke(this, result);

            _nextSyncResults.Add(result);

            PinouNetworkManager.MainBehaviour.SetDirty(gameObject, SyncableVariable.EntityAbilityHit);
        }