Exemplo n.º 1
0
    public Character CreateCharacter(CharacterCreateData createData)
    {
        GameObject prefab = null;

        if (createData.team == Team.PLAYER1)
        {
            prefab = characterPrefab1;
        }
        else if (createData.team == Team.PLAYER2)
        {
            prefab = characterPrefab2;
        }

        var newCharacter = Instantiate(prefab, stoneRoot).GetComponent <Character>();

        newCharacter.transform.position   = new Vector3(createData.pos.x, stoneRoot.transform.position.y, createData.pos.z);
        newCharacter.transform.localScale = new Vector3(createData.data.sizeData.GetCharacterScale(), 0.1f, createData.data.sizeData.GetCharacterScale());

        var    findList = GameManager.Instance.ChracterList.FindAll(v => (int)v.Team == (int)createData.team);
        string name     = createData.team.ToString() + "_" + findList.Count;

        newCharacter.name = name;
        newCharacter.Init(createData.data, createData.team);

        ChracterList.Add(newCharacter);

        if (createData.isPlayerChacter)
        {
            SetCurrentCharacter(newCharacter);
        }

        return(newCharacter);
    }
Exemplo n.º 2
0
    public void RemoveCharacter(int pid)
    {
        var findCharacter = ChracterList.Find(v => v.Physics.PID == pid);

        if (findCharacter != null)
        {
            if (CurrentCharacter != null)
            {
                if (findCharacter.Physics.PID == CurrentCharacter.Physics.PID)
                {
                    var activeObj = ChracterList.Find(v => v.Physics.isInActive == false);
                    if (activeObj != null)
                    {
                        CameraManager.Instance.SetFollowTrans(activeObj.transform);
                    }
                    else
                    {
                        CameraManager.Instance.SetFollowTrans(housePos);
                    }

                    CurrentCharacter = null;
                }
            }

            ChracterList.Remove(findCharacter);
            findCharacter.RemoveCharacterPhysics();
            Destroy(findCharacter.gameObject);
            findCharacter = null;
        }
    }
Exemplo n.º 3
0
    public void GameInit()
    {
        curCoroutine = null;
        IsTestMode   = false;
        createPos.SetActive(false);

        ChracterList.Clear();
        PlayerDataList.Clear();
        PlayerSequenceQueue.Clear();

        IsGameEnd = false;
        CurRound  = 1;

        Player1 = new PlayerData(0, 0, Team.PLAYER1, DeckManager.Instance.CurDeck);
        Player2 = new PlayerData(1, 1, Team.PLAYER2, DeckManager.Instance.CurDeck);

        PlayerDataList.Add(Player1);
        PlayerDataList.Add(Player2);

        PlayerDataList.Sort((x, y) =>
        {
            return(x.order.CompareTo(y.order));
        });

        foreach (var player in PlayerDataList)
        {
            EnqueuePlayerSequenceQueue(player);
        }

        NextSequencePlayerStart();
    }
Exemplo n.º 4
0
    public void RemoveAllData()
    {
        foreach (var player in ChracterList)
        {
            player.RemoveCharacterPhysics();
            Destroy(player.gameObject);
        }
        ChracterList.Clear();

        CurrentCharacter = null;

        TestCharacterCreateDataList.Clear();
    }
Exemplo n.º 5
0
    public void TestSceneReset()
    {
        foreach (var player in ChracterList)
        {
            player.RemoveCharacterPhysics();
            Destroy(player.gameObject);
        }
        ChracterList.Clear();

        CurrentCharacter = null;

        foreach (var data in TestCharacterCreateDataList)
        {
            CreateCharacter(data);
        }

        var sweepUI = UIManager.Instance.IsUIOpened <SweepUI>();

        if (sweepUI != null)
        {
            sweepUI.Close();
        }
    }