示例#1
0
    private void OnTriggerExit(Collider collider)
    {
        FreeAirZone component = GetComponent <FreeAirZone>();

        if (collider.gameObject.CompareTag("RemotePlayer") && component != null)
        {
            Object.Destroy(component);
        }
    }
示例#2
0
 private void turnPlentifulAreaTriggerLightsOn(FreeAirZone freeAirZone, bool isOn)
 {
     if (freeAirZone.LightsOn != null && freeAirZone.LightsOff != null)
     {
         for (int i = 0; i < freeAirZone.LightsOn.Count; i++)
         {
             freeAirZone.LightsOn[i].SetActive(isOn);
             freeAirZone.LightsOff[i].SetActive(!isOn);
         }
     }
 }
示例#3
0
 public void RemotePlayerRemoved(DivingGameController controller)
 {
     if (!isLocalPlayer)
     {
         return;
     }
     if (controller != null)
     {
         overlappingBubbles.Remove(controller);
     }
     if (overlappingBubbles.Count == 0)
     {
         State = DivingState.HoldingBreath;
         Service.Get <INetworkServicesManager>().PlayerStateService.SetAirBubble(AirSupply, (int)State);
         dispatcher.DispatchEvent(new DivingEvents.FreeAirEffects(enabled: false, base.gameObject.tag));
         FreeAirZone componentInChildren = base.gameObject.GetComponentInChildren <FreeAirZone>();
         if (componentInChildren != null)
         {
             UnityEngine.Object.Destroy(componentInChildren);
         }
     }
 }