Exemple #1
0
    private int waveIndex = 1; // 默认生成第一波怪物

    public void Init(BattleMgr battle)
    {
        battleMgr = battle;
        //实例化第一批怪物
        battleMgr.LoadMonsterByWaveID(waveIndex);
        PECommon.Log("Init MapMgr Done.");
    }
Exemple #2
0
 public void initBattleInfo(BattleMgr bMgr)
 {
     foreach (MissionModel mModel in _missionModels.Values)
     {
         mModel.initBattleInfo(bMgr);
     }
 }
Exemple #3
0
 public void PreInitialize(BattleMgr bMgr, UIMgr uMgr, Entity nActor, AttackTracker aTracker)
 {
     uiMgr         = uMgr;
     battleMgr     = bMgr;
     nowActor      = nActor;
     attackTracker = aTracker;
 }
Exemple #4
0
    private void Awake()
    {
        actCtrl = GetComponent <Actor_Controller>();
        GameObject model  = actCtrl.model;
        GameObject sensor = null;

        try
        {
            sensor = transform.Find("sensor").gameObject;
        }
        catch (System.Exception)
        {
            //
            // if there is no sensor object
            //
        }


        btlMgr = Bind <BattleMgr>(sensor);
        wpnMrg = Bind <WeaponMgr>(model);
        staMgr = Bind <StateMgr>(gameObject);
        dirMgr = Bind <DirectorMgr>(gameObject);
        intMgr = Bind <InterationMgr>(sensor);

        actCtrl.OnAction += DoAction;
    }
Exemple #5
0
    private EntityMonster FindClosedTarget()
    {
        List <EntityMonster> lst = BattleMgr.GetEntityMonsters();

        if (lst == null || lst.Count == 0)
        {
            return(null);
        }

        Vector3       self          = GetPos();
        EntityMonster targetMonster = null;
        float         dis           = 0;

        for (int i = 0; i < lst.Count; i++)
        {
            Vector3 target = lst[i].GetPos();
            if (i == 0)
            {
                dis           = Vector3.Distance(self, target);
                targetMonster = lst[0];
            }
            else
            {
                float calcDis = Vector3.Distance(self, target);
                if (dis > calcDis)
                {
                    dis           = calcDis;
                    targetMonster = lst[i];
                }
            }
        }
        return(targetMonster);
    }
 /// <summary>
 /// 开始一段旁白
 /// isPause=暂停
 /// isUnPauseOnEndTalk=对话结束后取消暂停
 /// </summary>
 /// <param name="id"></param>
 public virtual NarrationFragment Start(string id)
 {
     CurData = TDLuaMgr.Get <TData>(id);
     if (CurData == null)
     {
         CLog.Error($"没有找到这个Plot:{id}");
         return(null);
     }
     //如果剧情只显示一次,则返回
     if (CurData.IsShowOnce && Showed.Contains(id))
     {
         return(null);
     }
     CurNarrationIndex = 0;
     if (IsHave())
     {
         Showed.Add(id);
         var ret = CurData.Fragments[CurNarrationIndex];
         Callback_OnStartNarration?.Invoke(CurData, ret);
         Callback_OnChangeNarration?.Invoke(CurData);
         IsStartNarration = true;
         if (!PauseFlag)
         {
             BattleMgr.LockBattleStartFlow(true);
             PlotMgr?.SetPlotPause(true);
         }
         PauseFlag = true;
         return(ret);
     }
     return(null);
 }
Exemple #7
0
 public void DoAction()
 {
     if (intMgr.lst_ovrlapEvnCstr.Count != 0)
     {
         if (intMgr.lst_ovrlapEvnCstr[0].active == true)
         {
             dirMgr.victim = intMgr.lst_ovrlapEvnCstr[0].actMgr;
             if (intMgr.lst_ovrlapEvnCstr[0].eventName == "frontStab")
             {
                 dirMgr.PlayFrontStab("frontStab", this, intMgr.lst_ovrlapEvnCstr[0].actMgr);
             }
             else if (intMgr.lst_ovrlapEvnCstr[0].eventName == "openBox")
             {
                 if (BattleMgr.CheckAnglePlayer(actCtrl.model, intMgr.lst_ovrlapEvnCstr[0].actMgr.gameObject, 30))
                 {
                     intMgr.lst_ovrlapEvnCstr[0].active = false;
                     transform.position = intMgr.lst_ovrlapEvnCstr[0].actMgr.transform.position + intMgr.lst_ovrlapEvnCstr[0].actMgr.transform.TransformVector(intMgr.lst_ovrlapEvnCstr[0].offset);
                     actCtrl.model.transform.LookAt(intMgr.lst_ovrlapEvnCstr[0].actMgr.transform, Vector3.up);
                     dirMgr.PlayFrontStab("openBox", this, intMgr.lst_ovrlapEvnCstr[0].actMgr);
                 }
             }
             else if (intMgr.lst_ovrlapEvnCstr[0].eventName == "leverUp")
             {
                 if (BattleMgr.CheckAnglePlayer(actCtrl.model, intMgr.lst_ovrlapEvnCstr[0].actMgr.gameObject, 180))
                 {
                     //intMgr.lst_ovrlapEvnCstr[0].active = false;
                     transform.position = intMgr.lst_ovrlapEvnCstr[0].actMgr.transform.position + intMgr.lst_ovrlapEvnCstr[0].actMgr.transform.TransformVector(intMgr.lst_ovrlapEvnCstr[0].offset);
                     actCtrl.model.transform.LookAt(intMgr.lst_ovrlapEvnCstr[0].actMgr.transform, Vector3.up);
                     dirMgr.PlayFrontStab("leverUp", this, intMgr.lst_ovrlapEvnCstr[0].actMgr);
                 }
             }
         }
     }
 }
Exemple #8
0
    /// <summary>
    /// 进入战斗
    /// </summary>
    /// <param name="battleProp">自己的战场参数</param>
    public void EnterBattle(Dictionary <int, BattleProp> battlePropDic)
    {
        GameObject battleGO = new GameObject("Battle");

        battleGO.transform.SetParent(gameObject.transform);
        battleMgr = battleGO.AddComponent <BattleMgr>();
        battleMgr.Init(battlePropDic);

        audioSvc.PlayBGMusic(Constants.BGBattle);
        foreach (var item in battlePropDic)
        {
            //玩家血量字典集合
            playerHPDic.Add(item.Value.roleType, item.Value.playerHp);
        }
        playerControlPanel = (PlayerControlPanel)UIManager.Instance.PushPanel(UIPanelType.PlayerControl);
        //SetFireButton();
        CreateAllPlayerHPUI(playerHPDic);

        WeapenCfg weapenCfg = resSvc.GetWeapenCfgData(battlePropDic.TryGet((int)GetCurrentRoleType()).weapenCfgID);

        SetTxtBullet(weapenCfg.weapenFrontBullet, weapenCfg.weapenBackBullet);

        //小于一定范围自动瞄准。
        GameObject[] Players = GameObject.FindGameObjectsWithTag("Player");
        for (int i = 0; i < Players.Length; i++)
        {
            if (Players[i].GetComponent <PlayerController>() == null)
            {
                playerControlPanel.AddEnemyToDic(Players[i].name, Players[i]);
                PECommon.Log("添加敌方角色进自动瞄准List:" + Players[i].name);
            }
        }
    }
Exemple #9
0
 public override void Stop()
 {
     if (this.IsRunning == 1)
     {
         this.IsRunning = -1;
         if (!MarryRoomMgr.UpdateBreakTimeWhereServerStop())
         {
             Console.WriteLine("Update Marry BreakTime failed");
         }
         if (!SpaRoomMgr.UpdateBreakTimeWhereSpaServerStop())
         {
             Console.WriteLine("Update Spa BreakTime failed");
         }
         RoomMgr.Stop();
         GameMgr.Stop();
         BattleMgr.Stop();
         if (this._loginServer != null)
         {
             this._loginServer.Disconnected -= new ClientEventHandle(this.loginServer_Disconnected);
             this._loginServer.Disconnect();
         }
         if (this.m_pingCheckTimer != null)
         {
             this.m_pingCheckTimer.Change(-1, -1);
             this.m_pingCheckTimer.Dispose();
             this.m_pingCheckTimer = null;
         }
         if (this.m_saveDbTimer != null)
         {
             this.m_saveDbTimer.Change(-1, -1);
             this.m_saveDbTimer.Dispose();
             this.m_saveDbTimer = null;
         }
         if (this.m_saveRecordTimer != null)
         {
             this.m_saveRecordTimer.Change(-1, -1);
             this.m_saveRecordTimer.Dispose();
             this.m_saveRecordTimer = null;
             this.SaveRecordProc(null);
         }
         if (this.m_buffScanTimer != null)
         {
             this.m_buffScanTimer.Change(-1, -1);
             this.m_buffScanTimer.Dispose();
             this.m_buffScanTimer = null;
         }
         if (this.m_limitItemRefreshTimer != null)
         {
             this.m_limitItemRefreshTimer.Change(-1, -1);
             this.m_limitItemRefreshTimer.Dispose();
             this.m_limitItemRefreshTimer = null;
         }
         this.SaveTimerProc(null);
         base.Stop();
         Thread.CurrentThread.Priority = ThreadPriority.BelowNormal;
         GameServer.log.Warn("Server Stopped!");
     }
 }
Exemple #10
0
    public void Init(BattleMgr battleMgr)
    {
        this.battleMgr = battleMgr;

        // 实例化怪物第一批
        battleMgr.LoadMonsterByWaveID(waveIndex);

        Common.Log("MapMgr init done");
    }
Exemple #11
0
        static Dictionary <string, ServerSocketAnalyze> serverSocketAnalyzes = new Dictionary <string, ServerSocketAnalyze>(); //存放线程

        static void Main(string[] args)
        {
            //dataParse = ServerDataParse.Instance;
            battleMgr = new BattleMgr();
            battleMgr.Init();
            //InitServer();
            InitServer();
            Console.ReadLine();
        }
Exemple #12
0
    public void StartBattle(int mapId)
    {
        GameObject battleRoot = new GameObject("BattleRoot");

        battleRoot.transform.SetParent(GameRoot.Instance.transform);
        battleMgr = battleRoot.AddComponent <BattleMgr>();
        battleMgr.Init(mapId);
        SetPlayerCtrlWindowState(true);
    }
Exemple #13
0
    public void Init(BattleMgr battleMgr)
    {
        this.battleMgr = battleMgr;

        //实例化第一批怪物
        battleMgr.LoadMonsterByWaveID(waveIndex);

        PECommon.Log("MapMgr Init Done");
    }
Exemple #14
0
    public virtual void Init(BattleMgr battleMgr, StateMgr stateMgr, SkillMgr skillMgr, Controller ctrl, BattleAttribute attribute, Vector3 pos, Orient dir)
    {
        this.battleMgr       = battleMgr;
        this.stateMgr        = stateMgr;
        this.skillMgr        = skillMgr;
        this.controller      = ctrl;
        this.battleAttribute = attribute;

        ctrl.Init(pos, dir);
    }
    private void Init()
    {
        VarInt fbId = m_ProcedureOwner.GetData <VarInt>(Constant.ProcedureData.FubenId);

        m_Fbid      = fbId;
        m_BattleMgr = new BattleMgr();
        m_BattleMgr.Init(fbId, () => {
            m_StartTime = GameEntry.Timer.GetNowTime();
        });
    }
Exemple #16
0
    public void Init(BattleMgr bm)
    {
        battleMgr = bm;
        transform.localPosition = Vector3.zero;
        transform.localScale    = Vector3.one;

        //实例化第一批怪物
        battleMgr.LoadMonsterByWaveID(waveIndex);

        PECommon.Log("Init MapMgr Done.");
    }
Exemple #17
0
    private void _onItemDroped()
    {
        SolaEngine engine = SolaEngine.getInstance();
        BattleMgr  bMgr   = (BattleMgr)engine.getMgr(typeof(BattleMgr));

        int gold  = bMgr.getGold();
        int paper = bMgr.getPaper();

        goldText.text  = gold.ToString();
        paperText.text = paper.ToString();
    }
Exemple #18
0
    public void StartBattle(int characterId, int mapId)
    {
        var go = new GameObject
        {
            name = "BattleRoot"
        };

        go.transform.SetParent(GameRoot.Ins.transform);
        battleMgr = go.AddComponent <BattleMgr>();
        battleMgr.Init(characterId, mapId);
        UIMgr.Ins.OpenPanel(PanelType.PlayerCtrlPanel);
    }
Exemple #19
0
    private void _onBtnClicked(GameObject gameObject)
    {
        SolaEngine engine = SolaEngine.getInstance();
        BattleMgr  bMgr   = (BattleMgr)engine.getMgr(typeof(BattleMgr));

        bMgr.setMissionModel(_model);

        string sceneName = ScenesName.BATTLE;

        engine.enterScene(sceneName);
        Application.LoadLevel(sceneName);
    }
Exemple #20
0
    public void StartBattle(int mapId)
    {
        GameObject go = new GameObject()
        {
            name = "BattleMgr"
        };

        go.transform.SetParent(GameRoot.instance.transform);
        battleMgr = go.AddComponent <BattleMgr>();
        battleMgr.Init(mapId);
        SetPlayerCtrlWindState();
    }
Exemple #21
0
    /// <summary>
    /// Event를 기다리는 State입니다.
    /// </summary>
    /// <param name="e">기다릴 Event</param>
    /// <param name="nextState">이 State 다음 State</param>
    /// <param name="paramCondition">Event발생시 매개변수를 검사하여 nextState로 Tranisition 여부를 결정하는 Predicate</param>
    public BattleMgr_WaitSingleEvent_(
        BattleMgr owner, ObserverEvent e, BattleMgr_State_ nextState,
        Predicate <EventParam> paramCondition = null, Action onWaitEnter = null,
        Action onWaitExecute = null, Action onWaitExit = null) : base(owner)
    {
        _e              = e;
        _nextState      = nextState;
        _paramCondition = paramCondition;

        _onWaitEnter   = onWaitEnter;
        _onWaitExecute = onWaitExecute;
        _onWaitExit    = onWaitExit;
    }
    private void _onComfirmClicked(GameObject src)
    {
        SolaEngine engine = SolaEngine.getInstance();

        DialogueModel[] dialogueModels = new DialogueModel[0];
        MapModel        mapModel       = _mapModel;

        List <HeroModel> monsterModels = mapModel.getRandomMonster();
        int monsterSize = monsterModels.Count;

        BattleInfoModel[] battleInfos = new BattleInfoModel[3];

        for (int j = 0; j < battleInfos.Length; j++)
        {
            List <BattleHeroModel> rdModels = new List <BattleHeroModel> ();

            for (int i = 0; i < 3; i++)
            {
                int       monsterIndex = engine.randomInt(0, monsterSize);
                HeroModel monster      = monsterModels [monsterIndex];

                Vector3 pos = new Vector3();
                pos.x = engine.randomInt(-200, 200);
                pos.y = engine.randomInt(-300, 300);
                pos.z = 0;

                BattleHeroModel bhModel = new BattleHeroModel();
                bhModel.setModel(monster, true, pos);

                rdModels.Add(bhModel);
            }
            BattleInfoModel bInfoModel = new BattleInfoModel();
            bInfoModel.mapBattleInfo(0, 3, rdModels);

            battleInfos[j] = bInfoModel;
        }

        MissionModel missionModel = new MissionModel();

        missionModel.formatMapBattle(battleInfos, dialogueModels);

        BattleMgr bMgr = (BattleMgr)engine.getMgr(typeof(BattleMgr));

        bMgr.setMissionModel(missionModel);

        string sceneName = ScenesName.BATTLE;

        engine.enterScene(sceneName);
        Destroy(himeScroll.gameObject);
        Application.LoadLevel(sceneName);
    }
Exemple #23
0
    public void initBattleInfo(BattleMgr bMgr)
    {
        int infoLength = _battleInfoIds.Length;

        _battleInfoModels = new BattleInfoModel[infoLength];

        for (int i = 0; i < infoLength; i++)
        {
            int             battleInfoId = _battleInfoIds [i];
            BattleInfoModel bInfoModel   = bMgr.getBattleInfo(battleInfoId);

            _battleInfoModels [i] = bInfoModel;
        }
    }
Exemple #24
0
    public void Init(BattleMgr battle)
    {
        waveIndex = 1;
        battleMgr = battle;
        for (int i = 0; i < triggerArr.Length; i++)
        {
            BoxCollider co = triggerArr[i].GetComponent <BoxCollider>();
            co.isTrigger = false;
        }
        //实例化第一批怪物
        battleMgr.LoadMonsterByWaveID(waveIndex);

        PECommon.Log("Init MapMgr Done.");
    }
Exemple #25
0
    private void _atk(Vector3 upPoint)
    {
        if (_canMove == false)
        {
            return;
        }

        _canMove   = false;
        _needCheck = true;

        BattleHeroModel model     = _model;
        bool            isMonster = model.isMonster();

        SolaEngine engine = SolaEngine.getInstance();
        BattleMgr  bMgr   = (BattleMgr)engine.getMgr(typeof(BattleMgr));

        List <BattleHeroModel> monsters = bMgr.getMonsters();

        foreach (BattleHeroModel monster in monsters)
        {
            monster.setPushable(isMonster);
        }

        Dictionary <int, BattleHeroModel> partners = bMgr.getPartners();

        foreach (BattleHeroModel parnter in partners.Values)
        {
            parnter.setPushable(!isMonster);
        }

//		selectedImg.gameObject.SetActive (false);

        float xF = -upPoint.x;
        float yF = -upPoint.y;

        float forces    = Mathf.Sqrt(xF * xF + yF * yF);
        float multipleX = xF / forces;
        float multipleY = yF / forces;

        float maxF = 3f;

        if (forces > maxF)
        {
            forces = maxF;
            xF     = multipleX * forces;
            yF     = multipleY * forces;
        }

        rBody.AddForce(new Vector2(xF * 1000, yF * 1000));
    }
Exemple #26
0
    /// <summary>
    /// 开始战斗
    /// </summary>
    /// <param name="mapId"></param>
    public void StartBattle(int mapId)
    {
        dungeonId = mapId;
        GameObject go = new GameObject {
            name = "BattleRoot"
        };

        go.transform.SetParent(GameRoot.Instance.transform);
        battleMgr = go.AddComponent <BattleMgr>();
        battleMgr.Init(mapId, () => {
            startTime = timerSvc.GetNowTime();
        });
        SetPlayerCtrlWndState();
    }
Exemple #27
0
 public static void OnPlayerOnline(int playerid, int consortiaID, int areaid, bool isSend)
 {
     WorldMgr.ChangePlayerState(playerid, true, consortiaID);
     if (isSend)
     {
         List <BattleServer> servers = BattleMgr.GetAllBattles();
         foreach (BattleServer server in servers)
         {
             if (server != null && server.IsOpen)
             {
                 server.Connector.SendKitOffPlayer(playerid, areaid);
             }
         }
     }
 }
Exemple #28
0
    public void InitBattle(int mapId)
    {
        base.Init();

        GameObject go = new GameObject
        {
            name = "BattleRoot",
        };

        go.transform.SetParent(mGameRoot.transform);

        BattleMgr bMgr = go.AddComponent <BattleMgr>();

        bMgr.Init(mapId);
    }
Exemple #29
0
    public void StartBattle(int fbid)
    {
        GameObject go = new GameObject {
            name = "BattleRoot"
        };

        go.transform.SetParent(GameRoot.Instance.transform);

        battleMgr = go.AddComponent <BattleMgr>();
        battleMgr.Init(fbid, () =>
        {
            startTime = timerSvc.GetNowTime();
        });
        this.fbid = fbid;
    }
Exemple #30
0
    public void StartBattle(int mapID)
    {
        MainCitySys.Instance.mainCityWnd.SetWndState(false);

        FuBenSys.Instance.SetFubenWnd(false);

        GameObject go = new GameObject
        {
            name = "BattleRoot"
        };

        go.transform.SetParent(GameRoot.Instance.transform);
        battleMgr = go.AddComponent <BattleMgr>();
        battleMgr.Init(mapID);
        SetPlayerCtrlWnd();
    }