Пример #1
0
    public GrimoireToken AddToken(RoleData roleData)
    {
        GameObject tokenObj = Instantiate(RoleTokenPrefab);

        tokenObj.transform.SetParent(RoleTokenAttach.transform);
        tokenObj.GetComponent <RectTransform>().anchoredPosition = Vector2.zero;

        GrimoireToken grimoireToken = tokenObj.GetComponentInChildren <GrimoireToken>();

        grimoireToken.name = "RoleToken:" + roleData.RoleName;
        grimoireToken.SetRoleData(roleData);

        if (roleData.AddToGrimoire)
        {
            RoleTokens.Add(grimoireToken);
        }
        else
        {
            HiddenTokens.Add(grimoireToken);
        }

        UpdateGrimoire();
        UpdateRoleCounts();

        return(grimoireToken);
    }
Пример #2
0
    public void OpenSwapPanel(GrimoireToken token, UnityAction CloseEvent)
    {
        CustomScriptToggle.gameObject.SetActive(RoleSelectionManager.CustomScriptData.Count > 0);

        TroubleBrewingToggle.SetIsOnWithoutNotify(RoleSelectionManager.TroubleBrewingToggle.isOn);
        BadMoonRisingToggle.SetIsOnWithoutNotify(RoleSelectionManager.BadMoonRisingToggle.isOn);
        SectsAndVioletsToggle.SetIsOnWithoutNotify(RoleSelectionManager.SectsAndVioletsToggle.isOn);
        UnreleasedToggle.SetIsOnWithoutNotify(RoleSelectionManager.UnreleasedToggle.isOn);
        CustomScriptToggle.SetIsOnWithoutNotify(RoleSelectionManager.CustomScriptToggle.isOn);

        TargetToken = token;
        OnSelectedListener.AddListener(CloseEvent);
        BuildRoleList();
    }
Пример #3
0
    public void UpdateGrimoire()
    {
        Vector2 pos2d         = RoleTokenAttach.GetComponent <RectTransform>().anchoredPosition;
        int     townSize      = RoleTokens.Count;
        float   angleDivision = (2.0f * Mathf.PI) / townSize;

        for (int i = 0; i < townSize; ++i)
        {
            Vector2       dir   = RotateVector(Vector2.up, -angleDivision * i);
            GrimoireToken token = RoleTokens[i].GetComponentInChildren <GrimoireToken>();
            token.SetTargetPos(pos2d + (dir * TownRadius));
        }

        SetPlayerNamesVisible(PlayerNamesVisible);
    }
Пример #4
0
    public void AddBluffToken(RoleData roleData)
    {
        GameObject tokenObj = Instantiate(RoleTokenPrefab);

        tokenObj.transform.SetParent(BluffTokenAttach.transform);
        tokenObj.GetComponent <RectTransform>().anchoredPosition = Vector2.zero;

        GrimoireToken grimoireToken = tokenObj.GetComponentInChildren <GrimoireToken>();

        grimoireToken.name = "BluffToken:" + roleData.RoleName;
        grimoireToken.SetUseTargetPos(false);
        grimoireToken.SetRoleData(roleData);
        grimoireToken.SetTargetPos(grimoireToken.transform.position);
        grimoireToken.transform.localScale = Vector3.one * 0.75f;
        grimoireToken.SetIsBluffToken();
        BluffTokens.Add(grimoireToken);
    }
Пример #5
0
    public void MoveTownsfolkToIndex(int index, GrimoireToken token)
    {
        int currentIndex = RoleTokens.IndexOf(token);

        if (currentIndex == index)
        {
            UpdateGrimoire();
            return;
        }

        RoleTokens.Remove(token);
        if (index < RoleTokens.Count)
        {
            RoleTokens.Insert(index, token);
        }
        else
        {
            RoleTokens.Add(token);
        }

        UpdateGrimoire();
    }
Пример #6
0
 public void OpenSwapPanel(GrimoireToken token)
 {
     ModalPanelObject.SetActive(true);              //Activate the Panel; its default is "off" in the Inspector
     ModalSwapRolePanel.gameObject.SetActive(true); //Activate the dialog; its default is "off" in the Inspector
     ModalSwapRolePanel.OpenSwapPanel(token, ClosePanel);
 }