Пример #1
0
        /// <summary>
        /// フィールドの初期処理
        /// マップチップをランダムに入れたければこの中で変えてデータを返してあげてください
        /// </summary>
        /// <returns></returns>
        private FieldDataProxy InitializeFieldData()
        {
            FieldDataProxy InitData;

            InitData = new FieldDataProxy(null, -1, -1, false, -1);

            return(InitData);
        }
Пример #2
0
        /// <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));
        }
Пример #3
0
        void Awake()
        {
            // このクラスが付属しているマテリアルを取得
            _material = this.gameObject.GetComponent <Renderer>().material;

            // 選択時と非選択時のカラーを保持
            default_color = _material.color;
            select_color  = Color.cyan;

            //フィールドデータ初期化
            Field = new FieldDataProxy(null, -1, -1, false, -1);
        }
Пример #4
0
        /// <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;
                }
            }
        }
Пример #5
0
        /// <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;
                }
            }
        }
Пример #6
0
        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;
            }
        }
Пример #7
0
        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;
            }
        }
Пример #8
0
        //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);
        }
Пример #9
0
        //情報をまとめて送り返す処理
        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;
        }
Пример #10
0
 private void Awake()
 {
     //フィールドデータ初期化
     _Field = new FieldDataProxy(null, -1, -1, false, -1);
 }