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); }
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; } }
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(); }
public void RemoveAllData() { foreach (var player in ChracterList) { player.RemoveCharacterPhysics(); Destroy(player.gameObject); } ChracterList.Clear(); CurrentCharacter = null; TestCharacterCreateDataList.Clear(); }
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(); } }