private void OnDoorStateChanged(Object p_sender, EventArgs p_args) { DoorEntityEventArgs doorEntityEventArgs = (DoorEntityEventArgs)p_args; if (doorEntityEventArgs.Animate && doorEntityEventArgs.Object == MyController) { m_interaction = (BaseInteraction)p_sender; ObjectState(doorEntityEventArgs.TargetState == EInteractiveObjectState.DOOR_OPEN, false); } }
private void OnDoorStateChanged(Object p_sender, EventArgs p_args) { DoorEntityEventArgs doorEntityEventArgs = (DoorEntityEventArgs)p_args; if (doorEntityEventArgs.Animate && doorEntityEventArgs.Object == MyController) { m_interaction = (BaseInteraction)p_sender; if (doorEntityEventArgs.TargetState == EInteractiveObjectState.DOOR_OPEN || doorEntityEventArgs.TargetState == EInteractiveObjectState.DOOR_CLOSED) { ObjectState(doorEntityEventArgs.TargetState, true); } else { Debug.LogError("Secret Door State Change - Wrong TargetState: " + doorEntityEventArgs.TargetState); } } }
private void OnDoorStateChanged(Object p_sender, EventArgs p_args) { DoorEntityEventArgs doorEntityEventArgs = (DoorEntityEventArgs)p_args; if (!doorEntityEventArgs.Animate && doorEntityEventArgs.Object == MyController) { Door door = (Door)MyController; if (door.State == EInteractiveObjectState.DOOR_OPEN) { TweenAlpha.Begin(MyUIWidget.gameObject, m_AnimationTime, 1f); TweenAlpha.Begin(m_DoorClosed.gameObject, m_AnimationTime, 0f); } else if (door.State == EInteractiveObjectState.DOOR_CLOSED) { TweenAlpha.Begin(MyUIWidget.gameObject, m_AnimationTime, 0f); TweenAlpha.Begin(m_DoorClosed.gameObject, m_AnimationTime, 1f); } } }
protected override void DoExecute() { LegacyLogic.Instance.WorldManager.QuickSaveAllowed = false; SetStates(); if (!String.IsNullOrEmpty(m_targetDoor.Prefab)) { if (!m_targetDoor.InteractLock) { m_targetDoor.InteractLock = true; EInteractiveObjectState p_targetState = TargetDoorState(); m_targetDoor.UpdateNextState(p_targetState); DoorEntityEventArgs p_eventArgs = new DoorEntityEventArgs(m_targetDoor, true, p_targetState); LegacyLogic.Instance.EventManager.InvokeEvent(this, EEventType.DOOR_STATE_CHANGED, p_eventArgs); } } else { TriggerStateChange(); } FinishExecution(); }