Exemplo n.º 1
0
    void LightsOffButton()
    {
        CancelExistingActions();
        nextAction = GameManager.Actions.TurnOffLight;
        validRooms.Clear();

        foreach (Room room in activePlayer.currentRoom.doors)
        {
            if (room.isLit)
            {
                validRooms.Add(room);
            }
        }
        foreach (Room room in activePlayer.currentRoom.sharedWalls)
        {
            if (room.isLit)
            {
                validRooms.Add(room);
            }
        }

        foreach (Room room in validRooms)
        {
            UIActionIndicator indicator = Instantiate(actionIndicator).GetComponent <UIActionIndicator>();
            indicator.transform.position = room.transform.position + Vector3.up * 3.0f;
            indicator.SetupIndicator(UIActionIndicator.Indicator.TurnOffLight, ghostMarkerColor);
            activeIndicators.Add(indicator.gameObject);
        }

        EventManager.AddListener(EventManager.EventType.RoomClicked, SelectRoom);
    }
Exemplo n.º 2
0
    void MoveButton()
    {
        CancelExistingActions();
        nextAction = GameManager.Actions.Move;
        validRooms.Clear();

        if (activePlayer.isGhost)
        {
            foreach (Room room in activePlayer.currentRoom.doors)
            {
                if (!room.isLit)
                {
                    validRooms.Add(room);
                }
            }
            foreach (Room room in activePlayer.currentRoom.sharedWalls)
            {
                if (!room.isLit)
                {
                    validRooms.Add(room);
                }
            }
        }
        else
        {
            foreach (Room room in activePlayer.currentRoom.doors)
            {
                if (room.isLit || activePlayer.flashLightCharge > 0)
                {
                    validRooms.Add(room);
                }
            }
        }

        foreach (Room room in validRooms)
        {
            //room.SetHighlight(true);
            UIActionIndicator indicator = Instantiate(actionIndicator).GetComponent <UIActionIndicator>();
            indicator.transform.position = room.transform.position + Vector3.up * 3.0f;

            if (activePlayer.isGhost)
            {
                indicator.SetupIndicator(UIActionIndicator.Indicator.MoveGhost, ghostMarkerColor);
            }
            else
            {
                if (room.isLit)
                {
                    indicator.SetupIndicator(UIActionIndicator.Indicator.MoveHumanLit, activePlayer.color);
                }
                else
                {
                    indicator.SetupIndicator(UIActionIndicator.Indicator.MoveHumanUnlit, activePlayer.color);
                }
            }

            activeIndicators.Add(indicator.gameObject);
        }

        EventManager.AddListener(EventManager.EventType.RoomClicked, SelectRoom);
    }