public override void preRemove() { base.preRemove(); if (_scene.isDriveAll()) { //不是简单也不是限制场景 if (!_scene.isSimple() && !_scene.isFinite()) { MUnitFightDataLogic dataLogic = (MUnitFightDataLogic)_scene.hero.fight.getDataLogic(); //清空当前场景部分 dataLogic.clearDataForCurrentScene(); } } }
protected override void makeFightDataLogic(MUnitFightDataLogic logic) { if (!_g2) { _m2 = instance.Type.GetMethod("makeFightDataLogic", 1); _g2 = true; } if (_m2 != null && !_b2) { _b2 = true; _p1[0] = logic; appdomain.Invoke(_m2, instance, _p1); _p1[0] = null; _b2 = false; } else { base.makeFightDataLogic(logic); } }
/** 构建战斗逻辑(isRobot:是否是机器人) */ public void init(MUnitUseData data, bool isClientDrive) { setData(data); MUnitFightDataLogic fightLogic = _fightLogic = GameC.factory.createMUnitFightDataLogic(); fightLogic.construct(); if (isClientDrive) { //开全控 fightLogic.setIsDriveAll(true); } //绑定 fightLogic.setUseLogic(this); //构造 makeFightDataLogic(fightLogic); //标记index index = fightLogic.index = data.mIndex; fightLogic.setData(_data.fight, _data.avatar); _attributeLogic = fightLogic.attribute; _buffLogic = fightLogic.buff; int fightUnitID = data.getFightUnitID(); fightLogic.initByFightUnitConfig(fightUnitID); if (isClientDrive) { fightLogic.initByFightUnitLevelConfig(fightUnitID, data.level); } }
protected virtual void makeFightDataLogic(MUnitFightDataLogic logic) { }