public void ShowChooseServerUIFormCreateChr(bool isConnectSuccess = true)
    {
        ShowChooseServerUI(isConnectSuccess);
        m_onChooseServerUIBackBtnUp = () =>
        {
            if (!m_isConnectSuccess)
            {
                MogoMessageBox.Info("Please select a server.");
                return;
            }
            MogoWorld.LoadCharacterScene();
        };

        m_onChooseServerGridUp = (index) =>
        {
            if (index != 0 && m_isConnectSuccess && SystemConfig.SelectedServerIndex == index)
            {
                MogoWorld.LoadCharacterScene();
                return;
            }

            //Debug.Log(index);
            SystemConfig.SelectedServerIndex = index;
            var server = SystemConfig.GetServerInfoByIndex(index);
            Debug.Log("server.id: " + server.id);
            if (server != null)
            {
                SystemConfig.Instance.SelectedServer = server.id;
            }
            SystemConfig.SaveConfig();
            MogoWorld.Login();
            //EventDispatcher.TriggerEvent<int>(Events.UIAccountEvent.OnChangeServer, id);
        };
    }
Exemple #2
0
    public void StarBelong(uint _playerId, int _starId)
    {
        UnitStar _star = GetUnitStarById(_starId);

        _star.BelongTo = MogoWorld.GetEntityById(_playerId);
        _star.SetGroup(GetGroupByPalyerId(_playerId));//设置阵营信息
    }
Exemple #3
0
    private void FindServerSucc(string ip)
    {
        UIManager.I.CloseUI <WaitingUIMgr>();
        MsgBoxInfo info = new MsgBoxInfo();

        if (string.IsNullOrEmpty(ip))
        {
            info.Content   = LanguageData.GetContent(6);
            info.BtnOkText = LanguageData.GetContent(5);
            info.okAction  = () =>
            {
                UIManager.I.CloseUI <MsgBoxUILogic>();
                UIManager.I.ShowUI <WaitingUIMgr>();
                EventDispatcher.TriggerEvent(FindServerEvent.FindServerStart);
            };
            info.cancelAction = () => { UIManager.I.CloseUI <MsgBoxUILogic>(); };
        }
        else
        {
            info.Content   = LanguageData.GetContent(7, ip);
            info.BtnOkText = LanguageData.GetContent(3);
            info.okAction  = () =>
            {
                Close();
                MogoWorld.ConnectServer(ip, 43998);
                MogoWorld.Login();
            };
            info.cancelAction = () => { UIManager.I.CloseUI <MsgBoxUILogic>(); };
        }
        UIManager.I.ShowUI <MsgBoxUILogic>(info);

        MogoWorld.ServerIP = ip;
    }
Exemple #4
0
    IEnumerator AfterInit(Action <int> process)
    {
        process(40);
        yield return(null);

        //加载游戏配置数据
        Action onGameDataReady = () =>
        {
            lock (MogoWorld.GameDataLocker)
            {
                MogoWorld.IsGameDataReady = true;
                if (MogoWorld.OnGameDataReady != null)
                {
                    Driver.Invoke(MogoWorld.OnGameDataReady);
                }
            }
        };

        GameDataControler.Init(null, onGameDataReady);
        process(45);
        yield return(null);

        //初始化网络模块
        ServerProxy.Instance.Init();
        ServerProxy.Instance.BackToChooseServer = MogoWorld.BackToChooseCharacter;
        process(50);
        yield return(null);

        //启动游戏逻辑
        MogoWorld.Init();
        SoundManager.Init();
        MogoWorld.Start();
        NPCManager.Init();
    }
Exemple #5
0
    /// <summary>
    /// 显示攻击者 攻击建筑时的表示
    /// </summary>
    public void showAttackBuildingEffect(Vector3 _position)
    {
        EntityParent _gethitEntity = BelongTo;

        EntityParent _attackEntity;
        Dictionary <int, UnitSoldier> _dicSoldier;

        foreach (var _key in SoldierDic.Keys)
        {
            _attackEntity = MogoWorld.GetEntityById(_key);

            if (_attackEntity.TeamId == _gethitEntity.TeamId)//同阵营
            {
                continue;
            }

            _dicSoldier = SoldierDic[_key];
            foreach (var _soldierItem in _dicSoldier.Values)
            {
                if (_soldierItem.BaseSoldierData.attack_object.Contains(1))//可以攻击建筑
                {
                    _soldierItem.OnAttack(_position);
                }
            }
        }
    }
Exemple #6
0
 private void OnLoginDoneSSJJ()
 {
     SetupInfoSSJJ();
     MogoGlobleUIManager.Instance.ShowGlobleStaticText(false, "Login...");
     //IsLoginDone = true;
     MogoWorld.Login();
     //IsLoginDone = false;
 }
 //处理新手时不先加主城
 private void RealSwitchScene(ushort orgId, ushort newId)
 {
     if ((baseflag % 2) == 1)
     {//新手不进主城
         return;
     }
     MogoWorld.SwitchScene(orgId, newId);
 }
Exemple #8
0
 private void OnLoginDoneUnion()
 {
     SetupInfoUnion();
     MogoGlobleUIManager.Instance.ShowGlobleStaticText(false, "Login...");
     //IsLoginDone = true;
     //MogoMsgBox.Instance.ShowFloatingText("username:"******",sessionId" + sessionId + ",suid:" + suid);
     MogoWorld.Login();
     //IsLoginDone = false;
 }
Exemple #9
0
 private void OnBtnJoin(MogoUIBtn btn)
 {
     if (CheckNameError())
     {
         return;
     }
     MogoWorld.ConnectServer(m_inputServerIP.text, 43998);
     MogoWorld.Login();
     MogoWorld.ServerIP = m_inputServerIP.text;
 }
Exemple #10
0
 private void OnCloseUI(MogoUIBtn btn)
 {
     MogoWorld.CloseUI();
     //MogoWorld.StartGame();
     //MogoWorld.m_sceneManager.LoadLoginScene();
     //MogoWorld.m_uiManager.LoadMainUI();
     //MogoWorld.DisConnectServer();
     MogoWorld.OnMainUILoaded();
     MogoWorld.m_sceneManager.LoadLoginScene();
     MogoWorld.Quit();
 }
Exemple #11
0
    private void OnBtnCreate(MogoUIBtn btn)
    {
        if (CheckNameError())
        {
            return;
        }
        string serverIp = MogoWorld.CreateServer();

        MogoWorld.IsSingleMatch = true;
        MogoWorld.ConnectServer(serverIp, 43998);
        MogoWorld.Login();
        MogoWorld.ServerIP = serverIp;
    }
Exemple #12
0
    /// <summary>
    /// 对星球增加士兵
    /// </summary>
    /// <param name="_starID"></param>
    /// <param name="_buildingTime"></param>
    public void addSoldierToStar(uint _playerId, int _starID, int _soldierType, int _Energy, int _isSelfProduce, bool _isMoveAnimation = true)
    {
        UnitStar    _star    = GetUnitStarById(_starID);
        UnitSoldier _Soldier = _star.GetSoldierById(_playerId, _soldierType);

        if (_star.BelongTo != null && _star.BelongTo.ID == MogoWorld.thePlayer.ID && _starID == CurStarID)
        {
            EventDispatcher.TriggerEvent(Events.StarUIEvent.AddSoldierEvent);//发送我方当前星球添加兵力的消息
        }
        if (_Soldier != null)
        {
            _Soldier.AddSoldier(_Energy, _isSelfProduce);
            _star.CulAllSoldierAttack();

            if (_isMoveAnimation && (_Soldier.GetGatherSoldierNum() > 0))
            {
                m_starDataManager.StarTogether(_star);
            }

            m_starDataManager.StarOrEndStartFighting(_star);
            return;
        }
        _Soldier = GetUnitSoldierFromPool();
        SoldierIndex++;
        _Soldier.UnitId          = SoldierIndex;
        _Soldier.BelongTo        = MogoWorld.GetEntityById(_playerId);
        _Soldier.BaseSoldierData = SoldierData.dataMap.Get(_soldierType);
        Vector2 _pos = _star.GetSoliderPositionById(_soldierType);

        //LoggerHelper.Error("_pos.x:" + _pos.x + "_pos.y:" + _pos.y);
        _Soldier.PositionX  = _pos.x;
        _Soldier.PositionY  = _pos.y;
        _Soldier.UnitParent = SoldierLyaer;
        _Soldier.AddSoldier(_Energy, _isSelfProduce);
        _Soldier.BelongToStar    = _star;
        _Soldier.IsMoveAnimation = _isMoveAnimation;
        _Soldier.InitUnit();
        _Soldier.SetGroup(GetGroupByPalyerId(_playerId));//设置阵营信息

        _star.AddSoldier(_playerId, _soldierType, _Soldier);
        _star.CulAllSoldierAttack();

        m_starDataManager.StarOrEndStartFighting(_star);
        if (_isMoveAnimation && (_Soldier.GetGatherSoldierNum() > 0))
        {
            m_starDataManager.StarTogether(_star);
            //_Soldier.CallBack = SoldierCallback;
        }
        IsAttackStar(_star);
    }
Exemple #13
0
    void Update()
    {
        TimerHeap.Tick();
        FrameTimerHeap.Tick();
        if (hasInitFinish)
        {
            MogoWorld.Process();

            if (MogoWorld.thePlayer != null && MogoWorld.thePlayer.ViewTransform != null)
            {
                transform.localPosition = MogoWorld.thePlayer.ViewTransform.localPosition;
            }
        }
    }
Exemple #14
0
 public void LoadMainUI()
 {
     AssetCacheMgr.GetUIInstance("MogoMainUI.prefab", (prefab, guid, go) =>
     {
         var mainUI = go as GameObject;
         mainUI.transform.localPosition = new Vector3(5000, 5000, 0);
         MogoMainUIPanel = mainUI.transform.FindChild("Camera/Anchor/MogoMainUIPanel");
         UICamera        = mainUI.transform.FindChild("Camera").GetComponent <Camera>();
         BillBoardCamera = mainUI.transform.FindChild("BillboardCamera").GetComponent <Camera>();
         billboardList   = mainUI.transform.FindChild("Camera/Anchor/MogoMainUIPanel/BillboardList");
         BattleUI        = MogoMainUIPanel.FindChild("BattleUI");
         MogoWorld.OnMainUILoaded();
     });
 }
Exemple #15
0
    public static void SetGameProgress(ProcType procType, params Object[] args)
    {
        if (!GameProcData.ProcData.ContainsKey(procType))
        {
            return;
        }
        var targetParas = args.PackArray().ToLower();

        //Debug.LogError("targetParas: " + targetParas);
        if (GameProcData.ProcData[procType].ContainsKey(targetParas))
        {
            var progress = GameProcData.ProcData[procType][targetParas].Progress;
            MogoWorld.SetGameProgress(progress);
        }
    }
Exemple #16
0
    /// <summary>
    /// 士兵攻击星球
    /// </summary>
    /// <param name="_starID"></param>
    /// <param name="_buildingTime"></param>
    public void ShowSoldierIntrusionStar(uint _playerId, int _starID, int _soldierType, int _Energy, float _PositionX, float _PositionY)
    {
        UnitStar    _star    = GetUnitStarById(_starID);
        UnitSoldier _Soldier = GetUnitSoldierFromPool();

        SoldierIndex++;
        _Soldier.UnitId          = SoldierIndex;
        _Soldier.BelongTo        = MogoWorld.GetEntityById(_playerId);
        _Soldier.BaseSoldierData = SoldierData.dataMap.Get(_soldierType);
        _Soldier.PositionX       = _PositionX;
        _Soldier.PositionY       = _PositionY;
        _Soldier.UnitParent      = SoldierLyaer;
        _Soldier.AddSoldier(_Energy, 1);
        _Soldier.BelongToStar               = _star;
        _Soldier.IsMoveAnimation            = false;
        _Soldier.IsShowSoldierIntrusionStar = true;
        _Soldier.InitUnit();
        _Soldier.SetGroup(GetGroupByPalyerId(_playerId));//设置阵营信息
    }
Exemple #17
0
    /// <summary>
    /// 通过玩家id获得阵营信息
    /// </summary>
    /// <param name="playerId"></param>
    /// <returns></returns>
    public GroupData GetGroupByPalyerId(uint playerId)
    {
        //Debug.Log("playerId:" + playerId);

        EntityParent _entiy = MogoWorld.GetEntityById(playerId);

        if (_entiy == null)
        {
            return(null);
        }
        //LoggerHelper.Error("playerId:" + playerId + "TeamId:" + _entiy.TeamId);
        if (GroupDic.ContainsKey(_entiy.TeamId))
        {
            return(GroupDic[_entiy.TeamId]);
        }

        GroupDic[_entiy.TeamId] = GroupData.dataMap[(int)_entiy.TeamId + 1];//初始化阵营

        return(GroupDic[_entiy.TeamId]);
    }
Exemple #18
0
    /// <summary>
    /// 摆阵
    /// </summary>
    public void ArrayedSoldier()
    {
        int _indexX   = 0;
        int _MyindexX = 0;
        int _indexY   = -3;
        Dictionary <int, UnitSoldier> dic;
        EntityParent _entity;

        foreach (var _soldiers in SoldierDic)
        {
            _entity = MogoWorld.GetEntityById(_soldiers.Key);

            dic = _soldiers.Value;
            if (_entity.TeamId == MogoWorld.thePlayer.TeamId)
            {
                _MyindexX++;
                _indexY = -3;
                foreach (var _soldierItem in dic.Values)
                {
                    var x = PositionX - 100 * _MyindexX;
                    var y = PositionY - _indexY * 30;
                    _soldierItem.Move(x, y, 0.1f);
                    //_soldierItem.OnAttack(new Vector3(x + 200, y, 0));
                    _indexY++;
                }
            }
            else
            {
                _indexX++;
                _indexY = -3;
                foreach (var _soldierItem in dic.Values)
                {
                    var x = PositionX + 100 * _indexX;
                    var y = PositionY - _indexY * 30;
                    _soldierItem.Move(x, y, 0.1f);
                    //_soldierItem.OnAttack(new Vector3(x - 200, y, 0));
                    _indexY++;
                }
            }
        }
    }
    public void ShowChooseServerUIFormLogin()
    {
        ShowChooseServerUI(false);
        m_onChooseServerUIBackBtnUp = () =>
        {
            MogoWorld.LoadLoginScene();
        };

        m_onChooseServerGridUp = (index) =>
        {
            SystemConfig.SelectedServerIndex = index;
            var server = SystemConfig.GetServerInfoByIndex(index);
            Debug.Log("server.id: " + server.id);
            if (server != null)
            {
                SystemConfig.Instance.SelectedServer = server.id;
            }
            SystemConfig.SaveConfig();
            MogoWorld.LoadLoginScene();
            //EventDispatcher.TriggerEvent<int>(Events.UIAccountEvent.OnChangeServer, id);
        };
    }
Exemple #20
0
    /// <summary>
    /// 显示攻击者 攻击士兵时的表现
    /// </summary>
    public void showAttackSoldierEffect(uint gethitPlayer, Vector3 _position)
    {
        ///士兵
        EntityParent _gethitEntity = MogoWorld.GetEntityById(gethitPlayer);
        EntityParent _attackEntity;
        Dictionary <int, UnitSoldier> _dicSoldier;

        foreach (var _key in SoldierDic.Keys)
        {
            _attackEntity = MogoWorld.GetEntityById(_key);

            if (_attackEntity.TeamId == _gethitEntity.TeamId)//同阵营
            {
                continue;
            }

            _dicSoldier = SoldierDic[_key];
            foreach (var _soldierItem in _dicSoldier.Values)
            {
                if (_soldierItem.BaseSoldierData.attack_object.Contains(2))//可以攻击士兵
                {
                    _soldierItem.OnAttack(_position);
                }
            }
        }

        ///建筑
        if ((BelongTo != null) && (BelongTo.TeamId != _gethitEntity.TeamId))
        {
            foreach (var _buildingItem in BuildingDic.Values)
            {
                if (_buildingItem.BaseBuildingData.attack > 0)
                {
                    _buildingItem.OnAttack(_position);
                }
            }
        }
    }
Exemple #21
0
    void Start()
    {
        goDiver = gameObject;
        Application.targetFrameRate = 30;
        Screen.sleepTimeout         = (int)SleepTimeout.NeverSleep;
        gameObject.AddComponent <LoadResources>();
        var gameData = GameDataControler.Instance;

        if (Application.platform == RuntimePlatform.Android)
        {
            gameObject.AddComponent <PlatformMessageReceiver>();
        }

        SystemConfig.Init((flag) =>
        {
            serverIp = SystemConfig.GetCfgInfoUrl("serverlist");
            gameData.Init(null, () =>
            {
                MogoWorld.Init(MogoWorld.StartGame);
                hasInitFinish = true;
            }, null);
        });
    }
Exemple #22
0
    void OnLoginUILoginUp()
    {
        //ServerProxy.Instance.Login(LoginUIViewManager.Instance.GetUserName(),
        //    LoginUIViewManager.Instance.GetPassword(), "20");

        string passport = LoginUIViewManager.Instance.GetUserName();
        string password = LoginUIViewManager.Instance.GetPassword();

        MogoWorld.passport = passport;
        MogoWorld.password = password;

        MogoWorld.Login();

        //SystemConfig.Instance.IsAutoLogin = LoginUILogicManager.Instance.IsAutoLogin;
        //SystemConfig.Instance.IsSavePassport = LoginUILogicManager.Instance.IsSaveUserName;
        //if (SystemConfig.Instance.IsSavePassport)
        //{
        SystemConfig.Instance.Passport = passport;
        //if (SystemConfig.Instance.IsAutoLogin)
        SystemConfig.Instance.Password = password;
        //else
        //    SystemConfig.Instance.Password = "******";
        //}
        //else
        //{
        //    SystemConfig.Instance.Passport = " ";
        //    SystemConfig.Instance.Password = "******";
        //}

        SystemConfig.SaveConfig();
        //MogoUIManager.Instance.ShowMogoChooseCharacterUI();

        //EventDispatcher.TriggerEvent<string, string>(Events.UIAccountEvent.OnLogin, passport, password);

        //Debug.Log("LoginUp");
    }
Exemple #23
0
 void Quit()
 {
     MogoWorld.Logout(0);
     ServerProxy.Instance.Process();
 }
 void OnCreateCharacterUIBackBtnUp()
 {
     MogoWorld.LoadCharacterScene();
 }
Exemple #25
0
    void OnGUI()
    {
        if (GUI.Button(new Rect(0, 0, 10, 10), ""))
        {
            m_switch = !m_switch;
        }

        if (!m_switch)
        {
            return;
        }

        if (GUI.Button(new Rect(10, 0, 90, 100), "touch"))
        {
            foreach (var item in MogoWorld.m_dataMapManager.ReachStarList)
            {
                foreach (var soliders in item.SoldierDic.Values)
                {
                    foreach (var solider in soliders.Values)
                    {
                        solider.OnHit();
                    }
                }
            }
            //MogoWorld.thePlayer.controllerInput.SetStickType(StickType.Touch);
        }

        serverIp = GUI.TextArea(new Rect(0, 100, 150, 50), serverIp);
        if (GUI.Button(new Rect(100, 0, 100, 100), "CreateServer"))
        {
            serverIp = MogoWorld.CreateServer();
        }
        if (GUI.Button(new Rect(200, 0, 100, 100), "login"))
        {
            MogoWorld.ServerIP = serverIp;
            MogoWorld.ConnectServer(serverIp, 43998);
            MogoWorld.TmpPlayerName = UtilsEx.GetRandomName();
            MogoWorld.Login();
        }
        if (GUI.Button(new Rect(300, 0, 100, 100), "createAvatar"))
        {
            MogoWorld.thePlayer.RpcCall("CreateAvatarReq");
        }
        if (GUI.Button(new Rect(400, 0, 100, 100), "vrWidth+"))
        {
            MogoWorld.MainCamera.SetVRWidth(true);
        }
        if (GUI.Button(new Rect(500, 0, 100, 100), "vrWidth-"))
        {
            MogoWorld.MainCamera.SetVRWidth(false);
        }
        if (GUI.Button(new Rect(600, 0, 100, 100), "vrRot+"))
        {
            MogoWorld.MainCamera.SetVRRotation(true);
        }
        if (GUI.Button(new Rect(700, 0, 100, 100), "vrRot-"))
        {
            MogoWorld.MainCamera.SetVRRotation(false);
        }
        if (GUI.Button(new Rect(800, 0, 100, 100), "vr"))
        {
            MogoWorld.MainCamera.SwitchVR();
        }
        if (GUI.Button(new Rect(0, 100, 100, 100), "into main"))
        {
            MogoWorld.EnterMainEufloria(1);
        }
        if (GUI.Button(new Rect(100, 100, 100, 100), "init map"))
        {
            UIManager.I.GetUILogic <MapUIMgr>().InitStarMap(1);
        }
        if (GUI.Button(new Rect(200, 100, 100, 100), "remove soldier"))
        {
            MogoWorld.thePlayer.RpcCall("RemoveSoldier", MogoWorld.thePlayer.ID, 0, 1, 100, 1);
        }
        if (GUI.Button(new Rect(300, 100, 100, 100), "ShowSoldierIntrusionStar"))
        {
            //MogoWorld.m_dataMapManager.addSoldierToStar(MogoWorld.thePlayer.ID, 1, 1);
            //MogoWorld.thePlayer.RpcCall("ArrayedSoldier", 1, 1);
            // MogoWorld.m_dataMapManager.ShowSoldierIntrusionStar(MogoWorld.thePlayer.ID, 1, 1, 150);
        }
        if (GUI.Button(new Rect(400, 100, 100, 100), "stop game"))
        {
            //MogoWorld.m_dataMapManager.addSoldierToStar(MogoWorld.thePlayer.ID, 1, 1);
            //MogoWorld.thePlayer.RpcCall("ArrayedSoldier",1, 2);
            //UIManager.I.GetUILogic<MapUIMgr>().EraserTexture();
            //MogoWorld.IsInGame = false;
            MogoWorld.thePlayer.RpcCall("GameOver", 1);
        }
        if (GUI.Button(new Rect(500, 100, 100, 100), "OpenRangleCheck"))
        {
            //MogoWorld.m_dataMapManager.addSoldierToStar(MogoWorld.thePlayer.ID, 1, 1);
            //MogoWorld.thePlayer.RpcCall("ArrayedSoldier",1, 2);
            //UIManager.I.GetUILogic<MapUIMgr>().EraserTexture();
            UIManager.I.GetUILogic <StarInfoUIMgr>().IsOpenRangleCheck = !UIManager.I.GetUILogic <StarInfoUIMgr>().IsOpenRangleCheck;
        }
    }
Exemple #26
0
    void OnTriggerEnter(Collider other)
    {
        if (triggleEnable)
        {
            if (other.gameObject.layer == 9)//Terrain
            {
                MogoMainCamera.Instance.Shake(5, 0.1f);
                sfxHandler.HandleFx(500102);
                sfxHandler.RemoveFXs(6011);
                List <List <uint> > entities = MogoUtils.GetEntitiesInRange(transform, radius);
                if (entities.Count != 4)
                {
                    return;
                }

                List <uint> dummyList  = entities[0];
                List <uint> playerList = entities[2];

                if (canAttackDummy)
                {
                    foreach (uint id in dummyList)
                    {
                        EventDispatcher.TriggerEvent(Events.GearEvent.Damage, id, 9003, (int)2, CalcDamage(MogoWorld.GetEntity(id) as EntityParent));
                    }
                }

                foreach (uint id in playerList)
                {
                    if (id == MogoWorld.thePlayer.ID)
                    {
                        EventDispatcher.TriggerEvent(Events.GearEvent.Damage, id, 9003, (int)2, CalcDamage(MogoWorld.thePlayer as EntityParent));
                        break;
                    }
                }

                if (timerID == uint.MaxValue)
                {
                    timerID = TimerHeap.AddTimer(5000, 0, BombDestroy);
                }
                vx            = 0;
                vy            = 0;
                triggleEnable = false;
            }
        }
    }
Exemple #27
0
 void OnApplicationQuit()
 {
     LoggerHelper.Release();
     MogoWorld.Quit();
 }
Exemple #28
0
    private void SetDamage(List <List <uint> > entities)
    {
        if (entities.Count != 4)
        {
            return;
        }

        List <uint> dummyList  = entities[0];
        List <uint> playerList = entities[2];

        if (canAttackDummy)
        {
            foreach (uint id in dummyList)
            {
                EventDispatcher.TriggerEvent(Events.GearEvent.Damage, id, 9003, (int)2, CalcDamage(MogoWorld.GetEntity(id) as EntityParent));
            }
        }

        foreach (uint id in playerList)
        {
            if (id == MogoWorld.thePlayer.ID)
            {
                EventDispatcher.TriggerEvent(Events.GearEvent.Damage, id, 9003, (int)2, CalcDamage(MogoWorld.thePlayer as EntityParent));
                break;
            }
        }
    }
Exemple #29
0
        public void StartMatch(int teamCount, int clientCount)
        {
            LoggerHelper.Debug(teamCount + " " + clientCount);

            MogoWorld.EnterMainEufloria(MapId);
        }
Exemple #30
0
    /// <summary>
    /// 私有的函数执行过程
    /// </summary>
    /// <param name="commands"></param>
    private void executeCommand(string[] commands)
    {
        LoggerHelper.Warning("executeCommand :" + commands.PackArray());
        switch (commands[0])
        {
        case "CreateModel":
        {
            var     list1 = commands[5].Split(new char[] { ',' });
            Vector3 vec   = new Vector3(float.Parse(list1[0]), float.Parse(list1[1]), float.Parse(list1[2]));
            if (commands.Length > 6 && commands[6].Equals("false"))
            {
                CreateModel(Int32.Parse(commands[1]), Int32.Parse(commands[2]), Int32.Parse(commands[3]), Int32.Parse(commands[4]), vec, false);
            }
            else
            {
                CreateModel(Int32.Parse(commands[1]), Int32.Parse(commands[2]), Int32.Parse(commands[3]), Int32.Parse(commands[4]), vec);
            }

            break;
        }

        case "DestroyModel":
        {
            int id = Int32.Parse(commands[1]);
            AssetCacheMgr.ReleaseInstance(m_entityList[id].GameObject);
            BillboardLogicManager.Instance.RemoveBillboard(m_entityList[Int32.Parse(commands[1])].ID);
            EventDispatcher.RemoveEventListener <GameObject, Vector3>(MogoMotor.ON_MOVE_TO, m_entityList[Int32.Parse(commands[1])].OnMoveTo);
            m_entityList.Remove(id);
            break;
        }

        case "PlayAction":
        {
            int id = Int32.Parse(commands[1]);
            PlayAction(id, Int32.Parse(commands[2]));
            break;
        }

        case "PlayOneAction":
        {
            int id = Int32.Parse(commands[1]);
            PlayAction(id, Int32.Parse(commands[2]));
            m_entityList[id].AddCallbackInFrames <EntityParent>((ent) => { ent.SetAction(0); }, m_entityList[id]);
            break;
        }

        case "StopAction":
        {
            int id = Int32.Parse(commands[1]);
            m_entityList[id].AddCallbackInFrames <EntityParent>((ent) => { ent.SetAction(0); }, m_entityList[id]);
            break;
        }

        case "PlaySfx":
        {
            if (commands.Length > 3)
            {
                var     list1 = commands[4].Split(new char[] { ',' });
                Vector3 vec   = new Vector3(float.Parse(list1[0]), float.Parse(list1[1]), float.Parse(list1[2]));
                PlaySfx(Int32.Parse(commands[1]), Int32.Parse(commands[2]), Int32.Parse(commands[3]), vec);
            }
            else
            {
                PlaySfx(Int32.Parse(commands[1]), Int32.Parse(commands[2]));
            }

            break;
        }

        case "StopSfx":
            if (commands.Length > 2)
            {
                StopSfx(Int32.Parse(commands[1]), Int32.Parse(commands[2]));
            }
            else
            {
                StopSfx(Int32.Parse(commands[1]));
            }
            break;

        case "MoveCamera":
            if (commands.Length == 5)
            {
                var list1 = commands[2].Split(new char[] { ',' });
                var list2 = commands[3].Split(new char[] { ',' });
                MoveCamera(Int32.Parse(commands[1]), float.Parse(list1[0]), float.Parse(list2[0]), float.Parse(list1[1]), float.Parse(list2[1]),
                           float.Parse(list1[2]), float.Parse(list2[2]), float.Parse(list1[3]), float.Parse(list2[3]), float.Parse(commands[4]));
            }
            else if (commands.Length == 6)
            {
                var     list1 = commands[2].Split(new char[] { ',' });
                var     list2 = commands[3].Split(new char[] { ',' });
                var     list3 = commands[5].Split(new char[] { ',' });
                Vector3 vec   = new Vector3(float.Parse(list3[0]), float.Parse(list3[1]), float.Parse(list3[2]));
                MoveCamera(Int32.Parse(commands[1]), float.Parse(list1[0]), float.Parse(list2[0]), float.Parse(list1[1]), float.Parse(list2[1]),
                           float.Parse(list1[2]), float.Parse(list2[2]), float.Parse(list1[3]), float.Parse(list2[3]), float.Parse(commands[4]), vec);
            }
            else
            {
                MogoMainCamera.Instance.PlayCGAnim(commands[1]);
            }
            break;

        case "SetPosition":
        {
            int id = Int32.Parse(commands[1]);
            if (!m_entityList.ContainsKey(id))
            {
                LoggerHelper.Debug("id not exist in list");
            }
            else
            {
                var list1 = commands[2].Split(new char[] { ',' });
                m_entityList[id].SetPositon(float.Parse(list1[0]), float.Parse(list1[1]), float.Parse(list1[2]));
            }
            break;
        }

        case "SetRotation":
        {
            int id = Int32.Parse(commands[1]);
            if (!m_entityList.ContainsKey(id))
            {
                LoggerHelper.Debug("id not exist in list");
            }
            else
            {
                var list1 = commands[2].Split(new char[] { ',' });
                m_entityList[id].SetRotation(float.Parse(list1[0]), float.Parse(list1[1]), float.Parse(list1[2]));
            }
            break;
        }

        case "ShakeCamera":
            if (commands.Length > 3)
            {
                var list1 = commands[1].Split(new char[] { ',' });
                var vec   = new Vector3(float.Parse(list1[0]), float.Parse(list1[1]), float.Parse(list1[2]));
                var list2 = commands[2].Split(new char[] { ',' });
                ShakeCamera(vec, Int32.Parse(list2[0]), Int32.Parse(list2[1]), Int32.Parse(list2[2]), float.Parse(commands[3]) / 1000);
            }
            else
            {
                ShakeCamera(Int32.Parse(commands[1]), float.Parse(commands[2]) / 1000);
            }
            break;

        case "WhiteCamera":
        {
            var     list1 = commands[1].Split(new char[] { ',' });
            Vector2 vec   = new Vector2(float.Parse(list1[0]), float.Parse(list1[1]));
            MogoMainCamera.Instance.FadeToAllWhite(vec, float.Parse(commands[2]) / 1000);
            break;
        }

        case "NormalCamera":
        {
            var     list1 = commands[1].Split(new char[] { ',' });
            Vector2 vec   = new Vector2(float.Parse(list1[0]), float.Parse(list1[1]));
            MogoMainCamera.Instance.FadeToNoneWhite(vec, float.Parse(commands[2]) / 1000);
            break;
        }

        case "MoveTo":
        {
            int id    = Int32.Parse(commands[1]);
            var list1 = commands[2].Split(new char[] { ',' });
            m_entityList[id].MoveTo(float.Parse(list1[0]), float.Parse(list1[1]), float.Parse(list1[2]));
            break;
        }

        case "ShowDialog":
        {
            var list1 = (from x in commands[1].Split(new char[] { ',' }) select LanguageData.GetContent(Int32.Parse(x)).Replace("{0}", MogoWorld.thePlayer.name)).ToArray();
            var list2 = (from x in commands[2].Replace("{0}", IconData.GetPortraitByVocation(MogoWorld.thePlayer.vocation)).Split(new char[] { ',' }) select IconData.dataMap.Get(Int32.Parse(x)).path).ToArray();
            var list3 = (from x in commands[3].Split(new char[] { ',' }) select FormatTaskText(LanguageData.GetContent(Int32.Parse(x)))).ToArray();
            GuideSystem.Instance.IsGuideDialog = true;
            if (m_currentStoryID != 0)
            {
                //CG
                MogoUIManager.Instance.ShowMogoTaskUI(TaskUILogicManager.Instance.SetTaskInfo, list1, list2, list3, MogoUIManager.Instance.m_MainUI);
            }
            else
            {
                MogoUIManager.Instance.ShowGuideTaskUI(DialogUILogicManager.Instance.SetDialogInfo, list1, list2, list3);
            }
            break;
        }

        case "Subtitle":
        {
            MogoUIManager.Instance.ShowSubtitle(LanguageData.GetContent(Int32.Parse(commands[1])), float.Parse(commands[2]), float.Parse(commands[3]));
            break;
        }

        case "ZoomCamera":
        {
            int id   = Int32.Parse(commands[1]);
            var list = commands[3].Split(new char[] { ',' });
            MogoMainCamera.Instance.CloseToTarget(m_entityList[id].Transform, float.Parse(commands[2]), float.Parse(list[1]), float.Parse(list[0]), float.Parse(commands[4]) / 1000, float.Parse(commands[5]) / 1000);
            break;
        }

        case "LockSight":
        {
            MogoMainCamera.Instance.LockSight();
            break;
        }

        case "SetFocus":
        {
            if (commands.Length > 4)
            {
                TeachUILogicManager.Instance.SetTeachUIFocus(Int32.Parse(commands[1]), LanguageData.GetContent(Int32.Parse(commands[2])), false, Int32.Parse(commands[3]), MogoUIManager.Instance.m_MainUI);
                //TeachUILogicManager.Instance.ShowFingerAnim(true);
            }
            else
            {
                TeachUILogicManager.Instance.SetTeachUIFocus(Int32.Parse(commands[1]), LanguageData.GetContent(Int32.Parse(commands[2])), false, Int32.Parse(commands[3]));
                //TeachUILogicManager.Instance.ShowFingerAnim(true);
            }
            break;
        }

        case "SetItemFocus":
        {
            var itemIDs = commands[1].Split(new char[] { ',' }).Select(x => Int32.Parse(x));
            foreach (var item in itemIDs)
            {
                if (InventoryManager.Instance.GetItemNumById(item) > 0)
                {
                    LoggerHelper.Warning("SetItemFocus" + item);
                    TeachUILogicManager.Instance.SetItemFocus(item, LanguageData.GetContent(Int32.Parse(commands[2])), Int32.Parse(commands[3]));
                    break;
                }
            }
            //TeachUILogicManager.Instance.ShowFingerAnim(true);
            break;
        }

        case "SetNonFocus":
        {
            if (commands.Length > 4)
            {
                TeachUILogicManager.Instance.SetTeachUIFocus(Int32.Parse(commands[1]), LanguageData.GetContent(Int32.Parse(commands[2])), true, Int32.Parse(commands[3]), MogoUIManager.Instance.m_MainUI);
                TeachUILogicManager.Instance.ShowFingerAnim(true);
            }
            else
            {
                TeachUILogicManager.Instance.SetTeachUIFocus(Int32.Parse(commands[1]), LanguageData.GetContent(Int32.Parse(commands[2])), true, Int32.Parse(commands[3]));
                TeachUILogicManager.Instance.ShowFingerAnim(true);
            }

            break;
        }

        case "OpenBillboard":
        {
            MogoUIManager.Instance.ShowBillboardList(true);
            break;
        }

        case "CloseBillboard":
        {
            MogoUIManager.Instance.ShowBillboardList(false);
            break;
        }

        case "OpenUI":
        {
            if (commands.Length == 2)
            {
                var type   = typeof(MainUIViewManager);
                var method = type.GetMethod("Show" + commands[1]);
                method.Invoke(MainUIViewManager.Instance, new object[] { true });
            }
            else if (commands.Length == 3)
            {
                var type   = typeof(MainUIViewManager);
                var method = type.GetMethod("Show" + commands[1]);
                method.Invoke(MainUIViewManager.Instance, new object[] { true, Int32.Parse(commands[2]) });
            }
            else
            {
                MogoUIManager.Instance.ShowUI(true);
            }

            break;
        }

        case "CloseUI":
        {
            if (commands.Length == 2)
            {
                var type   = typeof(MainUIViewManager);
                var method = type.GetMethod("Show" + commands[1]);
                method.Invoke(MainUIViewManager.Instance, new object[] { false });
            }
            else if (commands.Length == 3)
            {
                var type   = typeof(MainUIViewManager);
                var method = type.GetMethod("Show" + commands[1]);
                method.Invoke(MainUIViewManager.Instance, new object[] { false, Int32.Parse(commands[2]) });
            }
            else
            {
                MogoUIManager.Instance.ShowUI(false);
                MogoUIManager.Instance.ShowBillboardList(false);
            }

            break;
        }

        case "AddPointer":
        {
            LoggerHelper.Debug("AddPointerToTarget");
            Vector3 point = new Vector3();
            MogoUtils.GetPointInTerrain(float.Parse(commands[1]), float.Parse(commands[2]), out point);
            MogoFXManager.Instance.AddPointerToTarget(MogoWorld.thePlayer.Transform.gameObject, MogoWorld.thePlayer.ID, point);
            break;
        }

        case "Sleep":
        {
            TimerHeap.AddTimer(UInt32.Parse(commands[1]), 0, () => { EventDispatcher.TriggerEvent <SignalEvents>(Events.CommandEvent.CommandEnd, SignalEvents.Sleep); });
            break;
        }

        case "End":
        {
            //结束CG
            FinishCG();
            break;
        }

        case "UnlockQueue":
        {
            MogoUIQueue.Instance.IsLocking = false;
            MogoUIQueue.Instance.Locked    = false;
            MogoUIQueue.Instance.CheckQueue();
            Debug.Log("Unlocking by StoryManager...................................");
            break;
        }

        case "StartGuideUI":
        {
            Mogo.Util.LoggerHelper.Debug("Start GuideUI @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
            TeachUIViewManager.Instance.PrepareShowTeachUI();
            break;
        }

        case "ResetControlStick":
        {
            if (ControlStick.instance != null)
            {
                MogoWorld.thePlayer.Idle();
                MogoWorld.thePlayer.motor.StopNav();
                ControlStick.instance.Reset();
            }
            else
            {
                MogoWorld.thePlayer.Idle();
                MogoWorld.thePlayer.motor.StopNav();
            }
            break;
        }

        case "Gear":
        {
            ClientEventData.TriggerGearEvent(Int32.Parse(commands[1]));
            break;
        }

        case "RemoveEntities":
        {
            MogoWorld.RemoveEntitiesPos();
            break;
        }

        case "ResetEntities":
        {
            MogoWorld.ResetEntitiesPos();
            break;
        }

        default:
            break;
        }
    }