Exemplo n.º 1
0
 public void ResetManager()
 {
     ClearRoleList();
     InUseRoles.Clear();
     BluffRoles.Clear();
     CurrentState = RoleSeletionState.SelectingRoles;
 }
Exemplo n.º 2
0
    public void ToggleTravelers(bool isOn)
    {
        if (isOn)
        {
            WasActiveBeforeTravelers = gameObject.activeSelf;
            gameObject.SetActive(true);
            StateBeforeTravelers = CurrentState;
            BuildTravelerList();
        }
        else
        {
            gameObject.SetActive(WasActiveBeforeTravelers);
            switch (StateBeforeTravelers)
            {
            case RoleSeletionState.SelectingRoles:
            {
                BuildRoleList();
            }
            break;

            case RoleSeletionState.SelectingBluffs:
            {
                BuildBluffList();
            }
            break;

            default:
                break;
            }
        }
    }
Exemplo n.º 3
0
    public void BuildBluffList()
    {
        CurrentState = RoleSeletionState.SelectingBluffs;

        ClearRoleList();

        bool showAll = TroubleBrewingToggle.isOn == false && BadMoonRisingToggle.isOn == false && SectsAndVioletsToggle.isOn == false && UnreleasedToggle.isOn == false && CustomScriptToggle.isOn == false;

        if (showAll || TroubleBrewingToggle.isOn)
        {
            AddBluffRoles(TroubleBrewingData);
        }

        if (showAll || BadMoonRisingToggle.isOn)
        {
            AddBluffRoles(BadMoonRisingData);
        }

        if (showAll || SectsAndVioletsToggle.isOn)
        {
            AddBluffRoles(SectsAndVioletsData);
        }

        if (showAll || UnreleasedToggle.isOn)
        {
            AddBluffRoles(UnreleasedData);
        }

        if (showAll || CustomScriptToggle.isOn)
        {
            AddBluffRoles(CustomScriptData);
        }

        if (RoleEntries.Count == 0)
        {
            return;
        }

        RoleEntries = RoleEntries.OrderBy(roleEntry => roleEntry.RoleData.RoleType).ThenBy(roleEntry => roleEntry.RoleData.RoleName).ToList();

        int indexOfTownsfolk = RoleEntries.FindIndex(roleEntry => roleEntry.RoleData != null ? roleEntry.RoleData.RoleType == RoleType.Townsfolk : false);

        if (indexOfTownsfolk >= 0)
        {
            AddDivider("Townsfolk", indexOfTownsfolk);
        }

        int indexOfOutsider = RoleEntries.FindIndex(roleEntry => roleEntry.RoleData != null ? roleEntry.RoleData.RoleType == RoleType.Outsider : false);

        if (indexOfOutsider >= 0)
        {
            AddDivider("Outsider", indexOfOutsider);
        }

        foreach (var roleEntry in RoleEntries)
        {
            roleEntry.transform.SetParent(ScrollListContentPanel.transform);
            roleEntry.transform.localScale = Vector3.one;
        }
    }
Exemplo n.º 4
0
    void BuildTravelerList()
    {
        CurrentState = RoleSeletionState.SelectingTravelers;

        ClearRoleList();

        bool showAll = TroubleBrewingToggle.isOn == false && BadMoonRisingToggle.isOn == false && SectsAndVioletsToggle.isOn == false && UnreleasedToggle.isOn == false && CustomScriptToggle.isOn == false;

        if (showAll || TroubleBrewingToggle.isOn)
        {
            AddRoles(TroubleBrewingTravelerData);
        }

        if (showAll || BadMoonRisingToggle.isOn)
        {
            AddRoles(BadMoonRisingTravelerData);
        }

        if (showAll || SectsAndVioletsToggle.isOn)
        {
            AddRoles(SectsAndVioletsTravelerData);
        }

        if (showAll || UnreleasedToggle.isOn)
        {
            AddRoles(UnreleasedTravelerData);
        }

        if (RoleEntries.Count == 0)
        {
            return;
        }

        RoleEntries = RoleEntries.OrderBy(roleEntry => roleEntry.RoleData.RoleType).ThenBy(roleEntry => roleEntry.RoleData.RoleName).ToList();

        foreach (var roleEntry in RoleEntries)
        {
            roleEntry.transform.SetParent(ScrollListContentPanel.transform);
            roleEntry.transform.localScale = Vector3.one;
        }
    }
Exemplo n.º 5
0
    public void BuildRoleList()
    {
        CurrentState = RoleSeletionState.SelectingRoles;

        foreach (var bluffRole in BluffRoles)
        {
            GrimoireManager.Instance.RemoveBluffToken(bluffRole);
        }
        BluffRoles.Clear();

        ClearRoleList();

        bool showAll = TroubleBrewingToggle.isOn == false && BadMoonRisingToggle.isOn == false && SectsAndVioletsToggle.isOn == false && UnreleasedToggle.isOn == false && CustomScriptToggle.isOn == false;

        if (showAll || TroubleBrewingToggle.isOn)
        {
            AddRoles(TravelersToggle.isOn ? TroubleBrewingTravelerData : TroubleBrewingData);
        }

        if (showAll || BadMoonRisingToggle.isOn)
        {
            AddRoles(TravelersToggle.isOn ? BadMoonRisingTravelerData : BadMoonRisingData);
        }

        if (showAll || SectsAndVioletsToggle.isOn)
        {
            AddRoles(TravelersToggle.isOn ? SectsAndVioletsTravelerData : SectsAndVioletsData);
        }

        if (showAll || UnreleasedToggle.isOn)
        {
            AddRoles(TravelersToggle.isOn ? UnreleasedTravelerData : UnreleasedData);
        }

        if (TravelersToggle.isOn == false && (showAll || CustomScriptToggle.isOn))
        {
            AddRoles(CustomScriptData);
        }

        if (RoleEntries.Count == 0)
        {
            return;
        }

        RoleEntries = RoleEntries.OrderBy(roleEntry => roleEntry.RoleData.RoleType).ThenBy(roleEntry => roleEntry.RoleData.RoleName).ToList();

        AddDivider("Townsfolk", 0);

        int indexOfOutsider = RoleEntries.FindIndex(roleEntry => roleEntry.RoleData != null ? roleEntry.RoleData.RoleType == RoleType.Outsider : false);

        if (indexOfOutsider >= 0)
        {
            AddDivider("Outsider", indexOfOutsider);
        }

        int indexOfMinion = RoleEntries.FindIndex(roleEntry => roleEntry.RoleData != null ? roleEntry.RoleData.RoleType == RoleType.Minion : false);

        if (indexOfMinion >= 0)
        {
            AddDivider("Minion", indexOfMinion);
        }

        int indexOfDemon = RoleEntries.FindIndex(roleEntry => roleEntry.RoleData != null ? roleEntry.RoleData.RoleType == RoleType.Demon : false);

        if (indexOfDemon >= 0)
        {
            AddDivider("Demon", indexOfDemon);
        }

        foreach (var roleEntry in RoleEntries)
        {
            roleEntry.transform.SetParent(ScrollListContentPanel.transform);
            roleEntry.transform.localScale = Vector3.one;
        }
    }