Example #1
0
    public void RegisterGroupMember(VoteableGroupMember v)
    {
        if (!groupMembers.Contains(v))
        {
            groupMembers.Add(v);

            if (v.rt.localPosition.x - v.rt.sizeDelta.x / 2 - xBuffer < left)
            {
                left = v.rt.localPosition.x - v.rt.sizeDelta.x / 2 - xBuffer;
            }
            if (v.rt.localPosition.x + v.rt.sizeDelta.x / 2 + xBuffer > right)
            {
                right = v.rt.localPosition.x + v.rt.sizeDelta.x / 2 + xBuffer;
            }
            if (v.rt.localPosition.y - v.rt.sizeDelta.y / 2 - yBuffer < bot)
            {
                bot = v.rt.localPosition.y - v.rt.sizeDelta.y / 2 - yBuffer;
            }
            if (v.rt.localPosition.y + v.rt.sizeDelta.y / 2 + yBuffer > top)
            {
                top = v.rt.localPosition.y + v.rt.sizeDelta.y / 2 + yBuffer;
            }


            rt.sizeDelta = new Vector2(Mathf.Abs(left) + right, Mathf.Abs(bot) + top);


            rt.localPosition = new Vector3((right + left) / 2, (top + bot) / 2, 0);
        }
    }
Example #2
0
    public void ProcessVote(VoteableGroupMember v, short networkID, bool vote)
    {
        foreach (VoteableGroupMember vgm in groupMembers)
        {
            if (vgm != v)
            {
                vgm.RecieveVoteNoReport(networkID, false);
            }
        }

        v.RecieveVoteAndSync(networkID, vote);
    }