コード例 #1
0
ファイル: TestPack.cs プロジェクト: sextance/TDemo
    //扫描请求发送
    void Scan()
    {
        TowerChange st = new TowerChange();

        st.OptType = OptionType.SCAN;
        LoginRequist.ucl.rpcCall("combat.get_tower_num", JsonConvert.SerializeObject(st), null);
    }
コード例 #2
0
ファイル: TestPack.cs プロジェクト: sextance/TDemo
    void ExitGame()
    {
        TowerChange eg = new TowerChange();

        eg.OptType = OptionType.GAME_OVER;
        eg.result  = "false";
        LoginRequist.ucl.rpcCall("combat.get_tower_num", JsonConvert.SerializeObject(eg), null);
    }
コード例 #3
0
ファイル: TestPack.cs プロジェクト: sextance/TDemo
    //自爆塔
    public static void DestoryOwnTower(TowerShape towershape)
    {
        TowerChange dot = new TowerChange();

        dot.ti      = new TowerInfo(towershape.ShapeId, towershape.transform.localPosition.x, towershape.transform.localPosition.y, towershape.transform.localPosition.z);
        dot.OptType = OptionType.DESTORY_TOWER;
        LoginRequist.ucl.rpcCall("combat.get_tower_num", JsonConvert.SerializeObject(dot), null);
    }
コード例 #4
0
ファイル: TestPack.cs プロジェクト: sextance/TDemo
    //塔固化时调用,发送固化塔的类型与位置
    public static void TowerChange(TowerShape towershape)
    {
        TowerChange tch = new TowerChange();

        tch.ti      = new TowerInfo(towershape.ShapeId, towershape.transform.localPosition.x, towershape.transform.localPosition.y, towershape.transform.localPosition.z);
        tch.OptType = OptionType.TOWER_CHANGE;
        LoginRequist.ucl.rpcCall("combat.get_tower_num", JsonConvert.SerializeObject(tch), null);
    }
コード例 #5
0
ファイル: TestPack.cs プロジェクト: sextance/TDemo
    //塔创建或删除时调用,发送塔数量计算势力比
    public static void TowerNum(List <TowerShape> towershapes)
    {
        TowerChange tn = new TowerChange();

        tn.towernum = towershapes.Count;
        tn.OptType  = OptionType.UPDATE_TOWER;
        LoginRequist.ucl.rpcCall("combat.get_tower_num", JsonConvert.SerializeObject(tn), null);
    }
コード例 #6
0
ファイル: TestPack.cs プロジェクト: sextance/TDemo
 //游戏结束
 public static void GameOver()
 {
     if (TimeManager.timeManager.allTime >= 10f)
     {
         if (GameManager.gm.towerShapes.Count == 0 /*|| GameManager.gm.CheckPower() == false*/)
         {
             TowerChange gg = new TowerChange();
             gg.result  = "false";
             gg.OptType = OptionType.GAME_OVER;
             LoginRequist.ucl.rpcCall("combat.get_tower_num", JsonConvert.SerializeObject(gg), null);
             //SceneManager.LoadScene("EndScene");
             GameManager.gm.sceneSwitch.ToScene("EndScene");
         }
     }
 }
コード例 #7
0
ファイル: UsrClient.cs プロジェクト: sextance/TDemo
        private void powerShow(Message msg)
        {
            if (msg.OpCode == OPCODE.NotifyInfo)
            {
                var seq = msg.NotifyInfo.Sequence;
                if (seq > 0)
                {
                    object      retParam = MessagePackDecoder <object>(msg.NotifyInfo.RpcParams);
                    TowerChange tc       = JsonConvert.DeserializeObject <TowerChange>(retParam.ToString());

                    switch (tc.OptType)
                    {
                    case OptionType.UPDATE_TOWER:
                        if (tc.towernum >= 0)
                        {
                            GameManager.gm.setEnemyTowerCount(tc.towernum);
                        }    //TODO:与UI势力条绑定
                        break;

                    case OptionType.TOWER_CHANGE:


                        if (tc.ti != null)
                        {
                            Vector3 createEnemyPosition = new Vector3();
                            createEnemyPosition.x = tc.ti.x;
                            createEnemyPosition.y = tc.ti.y;
                            createEnemyPosition.z = tc.ti.z;
                            var a = new GameObject();
                            a.AddComponent <MonsterMake>().SetData(tc.ti.shapeid, createEnemyPosition, OptionType.TOWER_CHANGE);
                        }
                        break;

                    case OptionType.DESTORY_TOWER:
                        if (tc.ti != null)
                        {
                            Vector3 CreateEnemyPosition = new Vector3();
                            CreateEnemyPosition.x = tc.ti.x;
                            CreateEnemyPosition.y = tc.ti.y;
                            CreateEnemyPosition.z = tc.ti.z;
                            var a = new GameObject();
                            a.AddComponent <MonsterMake>().SetData(tc.ti.shapeid, CreateEnemyPosition, OptionType.DESTORY_TOWER);
                        }
                        break;

                    case OptionType.SCAN:
                        TowerChange st = new TowerChange();
                        foreach (TowerShape towerShape in GameManager.gm.towerShapes)
                        {
                            TowerInfo temp = new TowerInfo(towerShape.ShapeId, towerShape.transform.localPosition.x, towerShape.transform.localPosition.y, towerShape.transform.localPosition.z);
                            st.a.Add(temp);
                        }
                        st.OptType = OptionType.SCAN_MAKE;
                        rpcCall("combat.get_tower_num", JsonConvert.SerializeObject(st), null);
                        break;

                    case OptionType.SCAN_MAKE:    //fetch行为
                        if (tc.a.Count > 0)
                        {
                            foreach (TowerInfo tif in tc.a)
                            {
                                Vector3 v = new Vector3();
                                v.x  = tif.x;
                                v.y  = tif.y;
                                v.z  = tif.z;
                                v.x += 1200f;
                                TowerShape  ts = Instantiate(TowerShapeFactory.tsf.prefabs[tif.shapeid], v, Quaternion.identity);
                                TowerEntity te = ts.gameObject.GetComponent <TowerEntity>();
                                Destroy(te);
                                Destroy(ts.gameObject, 4f);
                            }
                        }
                        break;

                    case OptionType.GAME_OVER:
                        if (tc.result == "false")
                        {
                            Debug.Log("Game Over");
                            TowerChange uw = new TowerChange();
                            uw.result  = "true";
                            uw.OptType = OptionType.GAME_OVER;
                            rpcCall("combat.get_tower_num", JsonConvert.SerializeObject(uw), null);
                            //SceneManager.LoadScene("LoseScene");
                            sceneLoader.LoadScene("WinScene");
                        }
                        else if (tc.result == "true")
                        {
                            //Debug.Log("You Win");
                            //SceneManager.LoadScene("WinScene");
                            sceneLoader.LoadScene("LoseScene");
                        }
                        break;
                    }
                }
            }
        }