public void Init(int unitID, int level, EUnitType unitType = EUnitType.EUT_Monster, ACT.EUnitCamp unitCamp = ACT.EUnitCamp.EUC_ENEMY, bool aiEnable = false, int aiDiff = 0) { base.Init(unitID, level, unitType, unitCamp); mAIEnable = aiEnable; AIDiff = aiDiff; if (mAIEnable) { ActStatus.Bind(new ACT.AIListener(this, this)); } }
protected void Init(int unitID, int level, EUnitType unitType, ACT.EUnitCamp unitCamp) { UnitID = unitID; Level = level; UnitType = unitType; Camp = unitCamp; UnitBase tmpUnitBase = UnitBaseManager.instance.Find(UnitID); if (null == tmpUnitBase) { Logger.LogError($"找不到UnitBase ID -> {UnitID}"); return; } Name = tmpUnitBase.Name; ActionID = tmpUnitBase.ActionID; Game.ResourcesMgr.LoadBundleByType(EABType.Unit, tmpUnitBase.Prefab); GameObject tmpGo = Game.ResourcesMgr.GetAssetByType <GameObject>(EABType.Unit, tmpUnitBase.Prefab); if (null == tmpGo) { Logger.LogError($"未能成功加载单位预制 prefab -> {tmpUnitBase.Prefab}"); return; } tmpGo = Hotfix.Instantiate(tmpGo); mUnitRenderer = tmpGo.GetComponent <UnitRenderers>(); tmpGo.transform.localEulerAngles = new Vector3(0, 90, 0); InitActUnit(tmpGo, tmpGo.transform.Find("model")); TopNode = Utility.GameObj.FindByName(tmpGo.transform, "topNode"); MidNode = Utility.GameObj.FindByName(tmpGo.transform, "midNode"); BottomNode = Utility.GameObj.FindByName(tmpGo.transform, "bottomNode"); mUnitShadow.Init(this, Utility.GameObj.Find(tmpGo, "shadow")); UpdateAttributes(); AddComponents(); }
public new void Init(int unitID, int level, EUnitType unitType = EUnitType.EUT_OtherPlayer, ACT.EUnitCamp unitCamp = ACT.EUnitCamp.EUC_FRIEND) { base.Init(unitID, level, unitType, unitCamp); }