void SpawnFriendSlot()
    {
        Vector3 startPos = Vector3.zero;
        float   radiusX  = GlobalSpiralMaster.GetCurrentRadius(0f, ref GlobalSpiralMaster.RadiusMapX);
        float   radiusY  = GlobalSpiralMaster.GetCurrentRadius(0f, ref GlobalSpiralMaster.RadiusMapY);

        SpiralMath.GetPositionAt(0f, ref startPos, radiusX, radiusY, GlobalSpiralMaster.ScaleZ, GlobalSpiralMaster.NoiseOn);
        startPos += GlobalSpiralMaster.transform.position;

        FriendSlot friendSlot = GlobalGameState.UIPoolManager.GetPoolableObject() as FriendSlot;

        if (friendSlot == null)
        {
            Debug.LogError("FAILED: Getting poolable friend slot object.");
            return;
        }

        // Init the slot
        if (_playerID < 0) // temp fix for TGC iPhone demo to make it circular access
        {
            _playerID = 0;
        }
        friendSlot.Activate();
        friendSlot.Init(ref startPos, 0f, PlayersJSON.Players[_playerID].NetworkMode, PlayersJSON.Players[_playerID].Name);
        _friendSlots.Add(friendSlot);
        _playerID++;
    }
 public void RemoveFriendFromSlot(FriendSlot slot, bool isRemovedBackward = false)
 {
     _friendSlots.Remove(slot);
     if (isRemovedBackward)
     {
         _playerID--;
     }
 }
Exemplo n.º 3
0
        public void OnSelectFriend2(FriendSlot reinforce2Slot)
        {
            var friendInfo = reinforce2Slot.FriendInfo;

            if (friendInfo == null || _reinforce2 == friendInfo) //去选
            {
                _reinforce2 = null;
            }
            else//选中
            {
                _reinforce2 = friendInfo;
            }
            FriendSlot2.SetAndRefresh(_reinforce2, OnSelectFriend2, reinforce2Slot.TxrHeadIcon.mainTexture);
            foreach (var friendSlot in _friendSlotList2)
            {
                friendSlot.ToggleSelected(friendSlot.FriendInfo != null && _reinforce2 != null && friendSlot.FriendInfo.UserId == _reinforce2.UserId);
            }
        }