// Changes the door state of this display according to the stored door object. public void ChangeDoorState() { if (door == null) { SpriteRenderersEnable(false); doorClosedCollider.enabled = true; return; } Door.DoorState state = door.state; switch (state) { case Door.DoorState.open: doorClosedCollider.enabled = false; SetDoorSprite(openDoor); break; case Door.DoorState.closed: doorClosedCollider.enabled = true; SetDoorSprite(closedDoor); break; case Door.DoorState.locked: if (door.color == Door.LockedDoorColor.none) { throw new System.ArgumentException("If door state is locked, color can not be null", "lockedDoorColor"); } doorClosedCollider.enabled = true; SetDoorSprite(lockedDoorSprites[door.color]); break; } }
private void UpdateState() { Door.DoorState doorState = this.m_DoorState; if (doorState != Door.DoorState.Opening) { if (doorState == Door.DoorState.Closing) { base.transform.RotateAround((!this.m_Hinge) ? base.transform.position : this.m_Hinge.transform.position, Vector3.up, -90f); this.SetState(Door.DoorState.Closed); } } else { base.transform.RotateAround((!this.m_Hinge) ? base.transform.position : this.m_Hinge.transform.position, Vector3.up, 90f); this.SetState(Door.DoorState.Open); } }
public override void GetActions(List <TriggerAction.TYPE> actions) { if (HeavyObjectController.Get().IsActive()) { return; } Door.DoorState doorState = this.m_DoorState; if (doorState == Door.DoorState.Closed) { actions.Add(TriggerAction.TYPE.Open); return; } if (doorState != Door.DoorState.Open) { return; } actions.Add(TriggerAction.TYPE.Close); }
private void SetState(Door.DoorState state) { this.m_DoorState = state; }