void Awake() { enemyAI = GetComponent <IEnemyAI>(); movementInput = GetComponent <IMovementInput>(); OnValidate(); }
/// <summary> /// <see cref="T:Character.Enemy"/> classのコンストラクタ /// </summary> /// <param name="builder">このキャラクターの初期設定を保持するEnemyBuilerクラス</param> public Enemy(EnemyBuilder builder) { this.ID = builder.getId(); this.NAME = builder.getName(); this.abilities = builder.getAbilities(); this.DEF = builder.getDef(); this.LV = builder.getLevel(); this.NORMAL_DROP_ID = builder.getNormalDropId(); this.RARE_DROP_ID = builder.getRareDropId(); this.MODEL_ID = builder.getModelName(); this.FACTION = builder.getFaction(); this.MAX_HP = builder.getMaxHp(); this.MAX_MP = builder.getMaxMp(); this.hp = MAX_HP; this.mp = MAX_MP; GameObject prefab = (GameObject)Resources.Load(MODEL_ID); GameObject gameobject = MonoBehaviour.Instantiate(prefab); this.container = gameobject.GetComponent <Container> (); container.setCharacter(this); this.UNIQE_ID = UniqueIdCreator.creatUniqueId(); activeSkillSet = ActiveSkillSetMasterManager.getInstance().getActiveSkillSetFromId(builder.getActiveSkillSetId(), this); reactionSkillSet = ReactionSkillSetMasterManager.getInstance().getReactionSkillSetFromId(builder.getReactionSkillSetId()); this.ai = EnemyAISummarizingManager.getInstance().getAiFromId(builder.getAiId(), this, activeSkillSet, reactionSkillSet); attributeResistances = builder.getAttributeRegists(); observer = new EnemyObserver(ID); }
void Awake() { enemyAI = GetComponent <IEnemyAI>(); movementInput = GetComponent <IMovementInput>(); myCollider = GetComponent <Collider>(); }
private void InitializeComponents() { _rigidbodies = GetComponentsInChildren <Rigidbody>(); _animator = GetComponentInChildren <Animator>(); _agent = GetComponentInChildren <NavMeshAgent>(); _enemyAi = new OffEnemyAi(this); target = _player; }
void Start() { GameObject wp1 = (GameObject)Instantiate(wp, this.transform.position + new Vector3(-3, 0, 3), Quaternion.identity, GameObject.Find("Map").transform); GameObject wp2 = (GameObject)Instantiate(wp, this.transform.position + new Vector3(3, 0, -3), Quaternion.identity, GameObject.Find("Map").transform); waypoints.Add(wp1.GetComponent <Transform>()); waypoints.Add(wp2.GetComponent <Transform>()); navMeshAgent.Warp(wp2.transform.position); currentState = patrolState; }
// Start is called before the first frame update public override void Start() { base.Start(); //get the AI classes, only way to set it and I hate it Dictionary <AIType, IEnemyAI> AIOptions = new Dictionary <AIType, IEnemyAI>(); AIOptions.Add(AIType.Lazer, new LazerEnemy()); AIOptions.Add(AIType.Shoot, new ShootEnemy()); AI = AIOptions[AIName]; player = GameObject.Find("Player"); agent = GetComponent <NavMeshAgent>(); aggroed = false; agent.speed = mechInfo.baseSpeed; Abilities.Add(KeyCode.LeftShift, new Beam(gameObject.GetComponent <AbilityController>(), 3)); }
/// <summary> /// 引数に渡したキャラクターをバトルに参加させます /// </summary> /// <param name="bal">参加させるキャラクター</param> /// <param name="pos">参加させる位置</param> /// <param name="ai">キャラクターのAI</param> public void joinBattle(IBattleable bal, FieldPosition pos, IEnemyAI ai) { if (!isBattleing) { throw new InvalidOperationException("battle isn't started"); } loadContainer(bal); bal.setIsBattling(true); joinedCharacter[pos].Add(bal); bal.syncronizePositioin(field.getObjectPosition(pos, bal)); AIBattleTaskManager manager = MonoBehaviour.Instantiate((GameObject)Resources.Load("Prefabs/AIBattleManager")).GetComponent <AIBattleTaskManager>(); manager.transform.SetParent(bal.getContainer().transform); manager.setCharacter(bal, ai); joinedManager.Add(bal.getUniqueId(), manager); }
public void ResetEntity() { entityAI = GetComponent <IEnemyAI>(); if (entityAI != null) { entityAI.ResetAI(); } if (!isAlly) { StageManager.currentInstance.RegisterEnemy(this); } currentHealth = stat_health; currentShield = stat_shield; status_frozen = 0; status_burningStack = 0; status_frozenRecoveryRate = 0; stat_defense = 0; }
public void OnTriggerEnter2D(Collider2D _collider) { if (_collider.tag.Equals("Enemy")) { IAlive _aliveScript = _collider.GetComponent<IAlive>(); IDamageableParticle _particleScript = _collider.GetComponent<IDamageableParticle>(); IEnemyAI _enemyAIScript = _collider.GetComponent<IEnemyAI>(); _aliveScript.DamageTakingCalculations(damage); // Bura hedef oldugunde son hasari bastirmiyor. _enemyAIScript.DamageTakingAnimation(angle, force); _particleScript.InitializeParticle(_particleCollisionWithTarget); Destroy(this.gameObject); } else if (_collider.tag.Equals("Ground")) { InitializeParticle(_particleCollisionWithObstacle); Destroy(this.gameObject); } }
public override void OnSpawn(CharacterAsset asset) { Alliance = CharacterType.Enemy; var enemyAsset = (EnemyAsset)asset; //レイヤー設定 gameObject.layer = LayerMask.NameToLayer("Enemy"); //HPを設定 _currentHealth.Value = enemyAsset.HP; _maxHealth = enemyAsset.HP; //AIの設定 AIParameter = enemyAsset.EnemyAIParameter; switch (enemyAsset.EnemyAIType) { case EnemyAIType.Attacker: _enemyAI = new EnemyAIAttacker(); break; case EnemyAIType.Ranger: _enemyAI = new EnemyAIRanger(); break; case EnemyAIType.Stay: _enemyAI = new EnemyAIStay(); break; default: break; } Agent = gameObject.AddComponent <NavMeshAgent>(); //スピードの設定 Agent.speed = 4; Agent.acceleration = 16; Agent.angularSpeed = enemyAsset.EnemyAIParameter.AngularSpeed; //スポーン時の音 Audio.AudioManager.PlaySE("robot-startup1"); }
// Start is called before the first frame update void Start() { currentState = patrolState; }
public void HiddenShot(Vector3 shotPosition) { Debug.Log("Somebody shoted"); lastKnownPosition = shotPosition; currentState = alertState; }
void Awake() { enemyAI = GetComponent <IEnemyAI>(); }
public void SetAI(int IndexAI) { _enemyAi = EnemyAIFactory.Create((EnemyAI)IndexAI, this); }
public void SetAI(EnemyAI AI) { _enemyAi = EnemyAIFactory.Create(AI, this); }
public EnemyBattleAgent(AgentStats stats, List <MoveModel> moveSet, Sprite sprite, IEnemyAI ai) : base(stats, moveSet, BattleEnums.Owner.AI, sprite) { AI = ai; }
void HiddenShot(Vector3 shotPosition) { lastKnownPosition = shotPosition; currentState = alertState; }
/// <summary> /// キャラクターを設定します /// </summary> /// <param name="user">設定するキャラクター</param> /// <param name="ai">userが持つAI</param> public void setCharacter(IBattleable user, IEnemyAI ai) { this.ai = ai; this.user = user; this.isReady = true; }
// Funkcja odpowiedzialna za wychwytywanie strzałów bohatera // Pozycje, z której strzelal bohater ustawia jako ostatnią znaną pozycje jego pobytu void HiddenShot(Vector3 shotPosition) { Debug.Log("Ktoś strzelił"); lastKnownPosition = shotPosition; currentState = alertState; }
// Use this for initialization void Start() { //we want the enemy to patrol. currentState = patrolState; }
// Use this for initialization void Start() { currentState = waitState; }
void HiddenShot(Vector3 shotPosition) { Debug.Log("SOMEONE SHOT"); lastKnownPosition = shotPosition; currentState = alertState; }
// The function responsible for capturing hero shots // The position from which the hero shot was placed as the last known position of his stay void HiddenShot(Vector3 shotPosition) { Debug.Log("Someone scored"); lastKnownPosition = shotPosition; currentState = alertState; }
void Start() { // Przypisujemy startowy stan currentState = patrolState; }
void HiddenShot(Vector3 shotPosition) { //Debug.Log ("Someone is Shooting!!!"); lastKnownPosition = shotPosition; currentState = alertState; }