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); }
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); }
protected bool IsSameCamp(UnitConfigData fighterData) { return(fighterData.camp == Data.camp); }