/// <summary> /// フィールドの初期処理 /// マップチップをランダムに入れたければこの中で変えてデータを返してあげてください /// </summary> /// <returns></returns> private FieldDataProxy InitializeFieldData() { FieldDataProxy InitData; InitData = new FieldDataProxy(null, -1, -1, false, -1); return(InitData); }
/// <summary> /// フィールドに使用データをセットします /// </summary> private void SetFieldData(ClientDataProxy useCard) { //新しくフィールドの情報を生成、情報を詰める(カード情報 、使用プレイヤー、マップチップ、ランクアップしてる?、ランクID) FieldDataProxy SetData = new FieldDataProxy(useCard.CardDataProxy, useCard.PlayerNum, 0, false, -1); //使用されたカードをフィールド情報に埋め込む _AllFieldObj[(int)useCard.FieldPos.y][(int)useCard.FieldPos.x].GetComponent <TileData_Maneger>().Field = SetData; //疑似フィールド表示データにオブジェクトを生成 _AllFieldObj[(int)useCard.FieldPos.y][(int)useCard.FieldPos.x].GetComponent <TileData_Maneger>().CreateNewObj(new FieldDataProxy(useCard.CardDataProxy, useCard.PlayerNum, useCard.CardDataProxy.Number, false, -1)); }
void Awake() { // このクラスが付属しているマテリアルを取得 _material = this.gameObject.GetComponent <Renderer>().material; // 選択時と非選択時のカラーを保持 default_color = _material.color; select_color = Color.cyan; //フィールドデータ初期化 Field = new FieldDataProxy(null, -1, -1, false, -1); }
/// <summary> /// フィールド初期化 /// </summary> private void FieldInitialize() { FieldDataProxy InitField; for (int i = 0; i < _prm.FieldSize.y; i++) { for (int j = 0; j < _prm.FieldSize.x; j++) { InitField = new FieldDataProxy(null, -1, -1, false, -1); _AllFieldObj[i][j].GetComponent <TileData_Maneger>().Field = InitField; } } }
/// <summary> /// フィールド初期化 /// </summary> public void FieldInitialize() { FieldDataProxy InitField; for (int i = 0; i < _prm.FieldSize.y; i++) { for (int j = 0; j < _prm.FieldSize.x; j++) { //yield return new WaitForSeconds(1F); InitField = new FieldDataProxy(null, -1, -1, false, -1); _AllFieldObj[i][j].GetComponent <TileData_Maneger>().Field = InitField; } } }
public void CreateNewObj(FieldDataProxy newField) { if (isBuilding == false) { //オブジェ生成 BldgData_Maneger.Instance.SetPosition(new Vector3(transform.position.x, transform.position.y + 0.5f, transform.position.z)); BldgData_Maneger.Instance.MakeBildings(newField.Data.Number, this.gameObject); //フィールドに情報をセット _Field = newField; myNumber = _Field.Data.Number; isBuilding = true; } }
public void CreateNewObj(FieldDataProxy newField) { //yield return new WaitForSeconds(1F); if (isBuilding == false) { //if (BldgData_Maneger.Instance.Cobj != null) //{ // BldgData_Maneger.Instance.coliderOff(); //} //オブジェ生成 //................ BldgData_Maneger.Instance.SetPosition(new Vector3(transform.position.x, transform.position.y + 0.5f, transform.position.z)); BldgData_Maneger.Instance.MakeBildings(newField.Data.Number, this.gameObject); //フィールドに情報をセット _Field = newField; myNumber = _Field.Data.Number; isBuilding = true; } }
//SendSeverDataArrayをRecvClientDataclassに変換 public RecvCliantData RecvArrayConvertClass(SendSeverDataArray sever) { RecvCliantData rData = new RecvCliantData(new FieldDataProxy[global.FieldSize.y, global.FieldSize.x], null, -1, null, null); int severCount = 0; for (int i = 0; i < global.FieldSize.y; i++) { for (int j = 0; j < global.FieldSize.x; j++) { CardDataProxy InitCard = new CardDataProxy(-1, "", "", -1, -1, -1, -1); FieldDataProxy Init = new FieldDataProxy(InitCard, -1, -1, false, -1); rData.AllFeildData[i, j] = Init; } } //プレイヤー初期化 PlayerDataProxy InitPlayer = new PlayerDataProxy(-1, -1, -1, -1); rData.AllPlayerData = new PlayerDataProxy[4]; for (int i = 0; i < 4; i++) { rData.AllPlayerData[i] = InitPlayer; } List <List <int> > InitDrawList = new List <List <int> >(); rData.DrawDataList = InitDrawList; List <CardDataProxy> InitCardData = new List <CardDataProxy>(); rData.DrawCardList = InitCardData; for (int i = 0; i < sever.AllFeildData.Length / global.FieldSize.x; i++) { for (int j = 0; j < sever.AllFeildData.Length / global.FieldSize.y; j++) { //カードデータをClassに変換する rData.AllFeildData[i, j]._CardData.Cost = sever.AllFeildData[severCount].SendCardData.Cost; rData.AllFeildData[i, j]._CardData.Name = sever.AllFeildData[severCount].SendCardData.Name; rData.AllFeildData[i, j]._CardData.Number = sever.AllFeildData[severCount].SendCardData.Number; rData.AllFeildData[i, j]._CardData.Rarity = sever.AllFeildData[severCount].SendCardData.Rarity; rData.AllFeildData[i, j]._CardData.Score = sever.AllFeildData[severCount].SendCardData.Score; rData.AllFeildData[i, j]._CardData.Text = sever.AllFeildData[severCount].SendCardData.Text; rData.AllFeildData[i, j]._CardData.Type = sever.AllFeildData[severCount].SendCardData.Type; //残りも変換 rData.AllFeildData[i, j].IsRankUp = sever.AllFeildData[severCount].IsRankUp; rData.AllFeildData[i, j].MaptipNumber = sever.AllFeildData[severCount].MaptipNumber; rData.AllFeildData[i, j].PossessionPlayer = sever.AllFeildData[severCount].PossessionPlayer; rData.AllFeildData[i, j].RankID = sever.AllFeildData[severCount].RankID; severCount++; } } //プレイヤーデータを構造体に変換 for (int i = (int)PlayerType.Player1; i < (int)PlayerType.EndPlayer; i++) { rData.AllPlayerData[i].PlayerNumber = sever.AllPlayerData[i].PlayerNumber; rData.AllPlayerData[i].Ranking = sever.AllPlayerData[i].Ranking; rData.AllPlayerData[i].ScorePerTurn = sever.AllPlayerData[i].ScorePerTurn; rData.AllPlayerData[i].TotalScore = sever.AllPlayerData[i].TotalScore; } //描画メソッドを構造体に変換 List <List <int> > AddData = new List <List <int> >(); for (int i = 0; i < sever.DrawDataList.Length; i++) { List <int> ListData = new List <int>(); for (int j = 0; j < sever.DrawDataList[i].vs.Length; j++) { ListData.Add(sever.DrawDataList[i].vs[j]); //rData.DrawDataList[i][j] = sever.DrawDataList[i].vs[j]; } AddData.Add(ListData); } rData.DrawDataList = new List <List <int> >(AddData); //引くカードのデータを構造体に変換 for (int i = 0; i < sever.DrawCardList.Length; i++) { CardDataProxy AddCardData = new CardDataProxy(sever.DrawCardList[i].Number, sever.DrawCardList[i].Name, sever.DrawCardList[i].Text, sever.DrawCardList[i].Cost, sever.DrawCardList[i].Score, sever.DrawCardList[i].Type, sever.DrawCardList[i].Rarity); rData.DrawCardList.Add(AddCardData); //rData.DrawCardList[i].Name = sever.DrawCardList[i].Name; //rData.DrawCardList[i].Number = sever.DrawCardList[i].Number; //rData.DrawCardList[i].Rarity = sever.DrawCardList[i].Rarity; //rData.DrawCardList[i].Score = sever.DrawCardList[i].Score; //rData.DrawCardList[i].Text = sever.DrawCardList[i].Text; //rData.DrawCardList[i].Type = sever.DrawCardList[i].Type; } return(rData); }
//情報をまとめて送り返す処理 public void CreateRecvObject(FieldDataProxy[][] Field, PlayerDataProxy[] Player, int Turn, List <List <int> > DrawData, List <CardDataProxy>[] DrawCard) { _PlayerObj = GameObject.FindGameObjectsWithTag("Player"); //プレイヤーごとの渡すデータを作成 for (int player = (int)PlayerType.Player1; player < (int)PlayerType.EndPlayer; player++) { //初期化 CardDataProxy InitCard = new CardDataProxy(-1, "", "", -1, -1, -1, -1); FieldDataProxy[,] AllFieldObj; AllFieldObj = new FieldDataProxy[_prm.FieldSize.y, _prm.FieldSize.x]; for (int i = 0; i < _prm.FieldSize.y; i++) { for (int j = 0; j < _prm.FieldSize.x; j++) { AllFieldObj[i, j] = Field[i][j]; } } recvData[player] = new RecvCliantData(AllFieldObj, Player, Turn, DrawData, DrawCard[player]); //ここから処理 //フィールドデータを詰める for (int i = 0; i < _prm.FieldSize.y; i++) { for (int j = 0; j < _prm.FieldSize.x; j++) { if (Field[i][j].Data != null) { Debug.Log(recvData[player].AllFeildData[i, j]._CardData = _FieldObj[i * _prm.FieldSize.y + j].GetComponent <TileData_Maneger>().Field._CardData); //各プレイヤーのrecvDataに対して、フィールドデータを入れている recvData[player].AllFeildData[i, j]._CardData = Field[i][j]._CardData; recvData[player].AllFeildData[i, j]._IsRankUp = Field[i][j]._IsRankUp; recvData[player].AllFeildData[i, j]._MaptipNumber = Field[i][j]._MaptipNumber; recvData[player].AllFeildData[i, j]._PossessionPlayer = Field[i][j]._PossessionPlayer; recvData[player].AllFeildData[i, j]._RankID = Field[i][j]._RankID; } else { print("ないよ"); } } } //プレイヤーデータを詰める for (int i = 0; i < _PlayerObj.Length; i++) { recvData[player].AllPlayerData[i] = Player[i]; } //現在のターン数を詰める recvData[player].NowTurn = Turn; //使ったカードの情報を詰める recvData[player].DrawDataList = DrawData; //ドローカード情報を詰める recvData[player].DrawCardList = DrawCard[player]; } //全プレイヤーの情報を詰める for (int player = (int)PlayerType.Player1; player < (int)PlayerType.EndPlayer; player++) { //クラスを構造体に変換し、構造体配列に代入 sendDataArray[player] = ClassConvertArray(recvData[player]); } //_RecvObj.GetComponent<RecvData>().Recv = recvData; }
private void Awake() { //フィールドデータ初期化 _Field = new FieldDataProxy(null, -1, -1, false, -1); }