// ReSharper restore InconsistentNaming public Warlock(CommandManager commandManager, WaypointManager waypointManager, ILogger logger) { _commandManager = commandManager; _waypointManager = waypointManager; _logger = logger; SummonPet = new SummonPet(SummonImp); CastDrink = new CastDrink(Drink); _targetManager = new TargetManager(); _lootManager = new LootManager(_logger); _skinningManager = new SkinningManager(_logger); CastPetAttack = new PetAttack(); CastShadowBolt = new CastOffensiveSpell(ShadowBolt); CastDemonSkin = new CastBuff(DemonSkin); CastCorruption = new CastDebuff(Corruption); CastCurseOfAgony = new CastDebuff(CurseOfAgony); CastImmolate = new CastDebuff(Immolate); CastWand = new CastWand(Wand); _state = RobotState.Passive; _lootList = new List <IWowObject>(); }
/// <summary> /// 创建宠物 /// </summary> private SummonPet CreatePet(int PetDataID, MapGrid StartGrid) { SummonpetInfo info = SummonM.GetSummonPetInfo(PetDataID); SummonPet pet = new SummonPet(); pet.CreateSkin(BattleEnvironmentM.GetLifeMBornNode(true), info.m_modeltype, info.m_modeltype.ToString(), AnimatorState.Empty, true); //IGameRole i = GameRoleFactory.Create(BattleEnvironmentM.GetLifeMBornNode(true), info.m_modeltype, info.m_modeltype.ToString(), AnimatorState.Empty); GameObject go = pet.RoleSkinCom.tRoot.gameObject; Vector3 pos = Vector3.zero; string posname = ""; LifeObj lo = go.AddComponent <LifeObj>(); pet.SetSummonPetLife(info, pet.RoleSkinCom.ProPerty, LifeEnvironment.Combat); pet.SetLifeCore(new LifeMCore(PetDataID, true, LifeMType.SUMMONPET, Camp, MoveState.Walk)); pet.SetSkin(); pet.SetBornPos(StartGrid.GridPos, 0); lo.SetLife(pet, pet.RoleSkinCom.ProPerty); go.transform.parent = BattleEnvironmentM.GetLifeMBornNode(true); Vector3 start = StartGrid.WorldPos; start.z = Camera.main.transform.position.z; go.transform.position = start; return(pet); }