UnitConfigData GdsToBattleUnitConfig(BattleTest gdsInfo, bool isRandomMove)
    {
        UnitConfigData unitBattleConfig = new UnitConfigData();

        unitBattleConfig.borthPos.x   = gdsInfo.borthPos.x;
        unitBattleConfig.borthPos.y   = gdsInfo.borthPos.y;
        unitBattleConfig.camp         = (CampType)gdsInfo.camp;
        unitBattleConfig.life         = gdsInfo.life;
        unitBattleConfig.speed        = gdsInfo.speed;
        unitBattleConfig.attack       = gdsInfo.attack;
        unitBattleConfig.attackRange  = gdsInfo.attackRange;
        unitBattleConfig.skillList    = gdsInfo.skillList.ToArray();
        unitBattleConfig.isRandomMove = isRandomMove;
        return(unitBattleConfig);
    }
    void OnGameBegin(object obj)
    {
        GameMain.Instance.UIMgr.OpenView(UIViewId.MoveJostick, null, delegate() {
            GameMain.Instance.UIMgr.CleseView(UIViewId.Loading);
        });

        List <int> selfSkillList = null;
        byte       selfCamp      = 0;

        int[] battleSceneUnits         = obj as int[];
        List <UnitConfigData> fighters = new List <UnitConfigData>(battleSceneUnits.Length);

        for (int i = 0; i < battleSceneUnits.Length; ++i)
        {
            BattleTest     gdsInfo          = BattleTest.GetInstance(battleSceneUnits[i]);
            UnitConfigData unitBattleConfig = GdsToBattleUnitConfig(gdsInfo, false);
            unitBattleConfig.id = battleSceneUnits[i];
            if (unitBattleConfig.id == GameMain.Instance.ProxyMgr.Player.PlayerId)
            {
                selfSkillList = gdsInfo.skillList;
                selfCamp      = (byte)unitBattleConfig.camp;
            }
            fighters.Add(unitBattleConfig);
        }

        //添加测试的单位
        List <BattleTest> allBattleTest = BattleTest.GetAllList();

        for (int i = 0; i < allBattleTest.Count; ++i)
        {
            BattleTest gdsInfo = allBattleTest[i];
            if (gdsInfo.camp == selfCamp)
            {
                continue;
            }
            UnitConfigData unitBattleConfig = GdsToBattleUnitConfig(gdsInfo, true);
            unitBattleConfig.id = gdsInfo.id;
            fighters.Add(unitBattleConfig);
        }


        BattleTimeLine.Instance.StartBattle(fighters);

        GameMain.Instance.UIMgr.OpenView(UIViewId.Skill, selfSkillList);
    }
Example #3
0
            public void Init(UnitConfigData data)
            {
                Data = data;

                mAttributes [(int)FighterAttributeType.Life]        = data.life;
                mAttributes [(int)FighterAttributeType.Speed]       = data.speed;
                mAttributes [(int)FighterAttributeType.Attack]      = data.attack;
                mAttributes [(int)FighterAttributeType.AttackRange] = data.attackRange;

                Position = Data.borthPos;
                ID       = Data.id;
                IsDead   = false;

                mAI = new UnitAIComponent(this);
                mAI.Init();

                skillComp = new UnitSkillComponent(this);
                skillComp.Init((data.skillList));

                moveComp = new UnitMoveComponent();
                moveComp.Init(this);

                buffComp = new UnitBuffComponent(this);
            }
Example #4
0
 protected bool IsSameCamp(UnitConfigData fighterData)
 {
     return(fighterData.camp == Data.camp);
 }