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()); }