public void SimulateTask(IAI _enemy, float _time, int index) { GameObject _go = new GameObject(); DummyEnemy _dummy = _go.AddComponent <DummyEnemy>(); _dummy.Startup(_enemy, _time); for (int i = index; i < _taskElements.Count; i++) { TaskElement _taskElement = _taskElements[i]; switch (_taskElement.Action) { case AIActions.MoveFoward: AAMoveForward.SimulateAction(_dummy, _taskElement.GetTarget(), i); break; case AIActions.LookAt: AARotate.SimulateAction(_dummy, _taskElement.GetTarget(), i); break; case AIActions.Wait: AAWait.SimulateAction(_dummy, _taskElement.Value, i); break; case AIActions.MoveTo: AAMoveTo.SimulateAction(_dummy, _taskElement.GetTarget(), i); break; } } //_enemy.SetAction(new TaskAction(ActionType.UnsetTask, this, _dummy.Time)); GameObject.Destroy(_go); }
public static void SimulateAction(DummyEnemy _enemy, Vector3 _target, int index) { Vector3 _toVector = _target - _enemy.transform.position; _enemy.transform.position = _target; _enemy.SetAction(new VectorIntAction(ActionType.AIMoveTo, _toVector, index, _enemy.Time)); _enemy.AddToTIme(_toVector.magnitude / _enemy.MoveSpeed); _enemy.SetAction(new VectorIntAction(ActionType.AIMoveToUnset, _toVector, index, _enemy.Time)); }
public static void SimulateAction(DummyEnemy _enemy, Vector3 _target, int index) { float _distance = Vector3.Distance(_enemy.transform.position, _target); _enemy.transform.position += _enemy.transform.forward * _distance; _enemy.SetAction(new ValueIntAction(ActionType.AIMoveForward, _distance, index, _enemy.Time)); _enemy.AddToTIme(_distance / _enemy.MoveSpeed); _enemy.SetAction(new ValueIntAction(ActionType.AIMoveForwardUnset, _distance, index, _enemy.Time)); }
public void SetDummy(DummyEnemy d) { for (int i = 0; i < SPWN_ENMY_CNT; i++) { if (dumbEnemies[i] == null) { dumbEnemies[i] = d; //Debug.Log("FOUND DUMB ENEMY"); return; } } }
public static void SimulateAction(DummyEnemy _enemy, Vector3 _target, int index) { Vector3 _currentForward = _enemy.transform.forward; Vector3 _tempTarget = new Vector3(_target.x, _enemy.transform.position.y, _target.z); Vector3 _up = _enemy.transform.up; _enemy.transform.LookAt(_tempTarget); float _angle = Util.AngleBetweenVector3(_currentForward, _enemy.transform.forward, _up); _enemy.SetAction(new ValueIntAction(ActionType.AIRotate, _angle, index, _enemy.Time)); _enemy.AddToTIme(Math.Abs(_angle) / _enemy.RotationSpeed); _enemy.SetAction(new ValueIntAction(ActionType.AIRotateUnset, _angle, index, _enemy.Time)); }
void OnTriggerExit(Collider other) { if (other.tag == "Enemy") { script = other.gameObject.GetComponent <ctrlEnemy>(); script.IsList = false; } if (other.tag == "Dummy") { script2 = other.gameObject.GetComponent <DummyEnemy>(); script2.IsList = false; } }
void OnTriggerStay(Collider other) { if (other.tag == "Enemy") { script = other.gameObject.GetComponent <ctrlEnemy>(); script.IsList = true; EnemyList.Add(other.gameObject); } if (other.tag == "Dummy") { script2 = other.gameObject.GetComponent <DummyEnemy>(); script2.IsList = true; EnemyList.Add(other.gameObject); } }
void OnTriggerEnter(Collider obj) { if (obj.tag == "Enemy") { StartDestroy(); BulletSpeed = 0f; script = obj.gameObject.GetComponent <ctrlEnemy>(); script.HP -= 10f; } if (obj.tag == "Dummy") { StartDestroy(); BulletSpeed = 0f; script2 = obj.gameObject.GetComponent <DummyEnemy>(); script2.HP -= 10f; } }
void OnTriggerEnter(Collider obj) { if (obj.tag == "Enemy") { StartDestroy(); bulletSpeed = Vector3.zero; script1 = script1Obj.gameObject.GetComponent <CtrlLockonTrigger>(); script1.EnemyList.Remove(obj.gameObject); script = obj.gameObject.GetComponent <ctrlEnemy>(); script.HP -= 10f; } if (obj.tag == "Dummy") { StartDestroy(); bulletSpeed = Vector3.zero; script1 = script1Obj.gameObject.GetComponent <CtrlLockonTrigger>(); script1.EnemyList.Remove(obj.gameObject); script2 = obj.gameObject.GetComponent <DummyEnemy>(); script2.HP -= 10f; } }
public void AddEntities() { Zigzagoon zigzagoon = new Zigzagoon(); zigzagoon.X = Game.Instance.HalfWidth; zigzagoon.Y = Game.Instance.HalfHeight; DummyEnemy dummy = new DummyEnemy(); dummy.X = 400.0f; dummy.Y = 100.0f; for (int i = 0; i < 50; i++) { var x = Rand.Float(Game.Instance.Width); var y = Rand.Float(Game.Instance.Height); this.Add(new SampleCollectable(x, y)); } this.Add(zigzagoon); this.Add(dummy); }
public static void SimulateAction(DummyEnemy _enemy, float _waitAmount, int index) { _enemy.SetAction(new ValueIntAction(ActionType.AIWait, _waitAmount, index, _enemy.Time)); _enemy.AddToTIme(_waitAmount); _enemy.SetAction(new ValueIntAction(ActionType.AIWaitUnset, _waitAmount, index, _enemy.Time)); }
public static void SimulateAction(DummyEnemy _enemy, Vector3 _target) { throw new Exception("Cannot be simulated"); }
/// <summary> /// Creates a new DummyEnemy with values copied from another. /// </summary> public DummyEnemy(DummyEnemy clone) : base(clone) { }