public void Received(LightSwitchData Received) { //Logger.Log (Received.LightSwitchTrigger.ToString() + " < LightSwitchTrigger" + Received.RelatedAPC.ToString() + " < APC" + Received.state.ToString() + " < state" ); // Leo Note: Some sync magic happening here. Decided not to touch it. tempStateCache = Received.state; if (waitToCheckState) { return; } if (Received.LightSwitchTrigger == RelatedLightSwitchTrigger || RelatedLightSwitchTrigger == null) { if (RelatedLightSwitchTrigger == null) { RelatedLightSwitchTrigger = Received.LightSwitchTrigger; } if (Received.RelatedAPC != null) { RelatedAPC = Received.RelatedAPC; { if (State == LightState.On) { if (!RelatedAPC.ConnectedSwitchesAndLights[RelatedLightSwitchTrigger].Contains(this)) { RelatedAPC.ConnectedSwitchesAndLights[RelatedLightSwitchTrigger].Add(this); } } } } else if (RelatedLightSwitchTrigger.SelfPowered) { if (State == LightState.On) { if (!RelatedLightSwitchTrigger.SelfPowerLights.Contains(this)) { RelatedLightSwitchTrigger.SelfPowerLights.Add(this); } } } if (Renderer == null) { waitToCheckState = true; StartCoroutine(WaitToTryAgain()); return; } else { State = Received.state ? LightState.On : LightState.Off; } } }
public void CmdToggleLightSwitch(GameObject switchObj) { if (CanInteractWallmount(switchObj.GetComponent <WallmountBehavior>())) { LightSwitchTrigger s = switchObj.GetComponent <LightSwitchTrigger>(); s.isOn = !s.isOn; } else { Logger.LogWarning("player attempted to interact with light switch through wall," + " this could indicate a hacked client."); } }
public void CmdToggleLightSwitch(GameObject switchObj) { if (CanInteractWallmount(switchObj.GetComponent <WallmountBehavior>())) { LightSwitchTrigger s = switchObj.GetComponent <LightSwitchTrigger>(); if (s.isOn == LightSwitchTrigger.States.On) { s.isOn = LightSwitchTrigger.States.Off; } else if (s.isOn == LightSwitchTrigger.States.Off) { s.isOn = LightSwitchTrigger.States.On; } } else { Logger.LogWarningFormat("Player {0} attempted to interact with light switch through wall," + " this could indicate a hacked client.", Category.Exploits, this.gameObject.name); } }
public void CmdToggleLightSwitch(GameObject switchObj) { LightSwitchTrigger s = switchObj.GetComponent <LightSwitchTrigger>(); s.isOn = !s.isOn; }