Example #1
0
 private new void OnDestroyAbilityHitbox(Entity ent, AbilityHitbox hitbox)
 {
     if (References.NetworkIdentity.hasAuthority == true)
     {
         _nextHitboxDestroyed.Add(hitbox.CastData);
         PinouNetworkManager.MainBehaviour.SetDirty(master.gameObject, SyncableVariable.EntityAbilityHitboxDestroyed);
     }
 }
Example #2
0
            private void SyncDestroyAbilityHitbox(SyncableVariable var, NetworkReader reader)
            {
                int hitboxCount = reader.ReadInt32();

                for (int i = 0; i < hitboxCount; i++)
                {
                    AbilityCastData castData = reader.ReadAbilityCastData();
                    AbilityHitbox.DestroyFromCastData(castData);
                    if (References.NetworkIdentity.isServer && References.NetworkIdentity.hasAuthority == false)
                    {
                        _nextHitboxDestroyed.Add(castData);
                        PinouNetworkManager.MainBehaviour.SetDirty(master.gameObject, SyncableVariable.EntityAbilityHitboxDestroyed);
                    }
                }
            }
Example #3
0
            private void SyncCastAbility(SyncableVariable var, NetworkReader reader)
            {
                int hitboxCount = reader.ReadInt32();

                for (int i = 0; i < hitboxCount; i++)
                {
                    AbilityCastData castData = reader.ReadAbilityCastData();
                    if (castData.AbilityCast.Hitbox.UnlimitedLifeSpan == true || castData.AbilityCast.Hitbox.LifeSpan > 0)
                    {
                        AbilityHitbox hitBox = AbilityPerformer.HandleSpawnAbilityHitbox(castData);
                        hitBox.ActivateVisualMode();
                    }

                    OnPerformAbility.Invoke(master, castData);
                    if (References.NetworkIdentity.isServer && References.NetworkIdentity.hasAuthority == false)
                    {
                        _nextAbilitiesCast.Add(castData);
                        PinouNetworkManager.MainBehaviour.SetDirty(master.gameObject, SyncableVariable.EntityAbilityCast);
                    }
                }
            }