void OnTriggerEnter2D(Collider2D col) { switch (Caster) { case EntityType.Player: if (col.gameObject.CompareTag("Enemy") && !_hitted) { _hitted = true; _particlePool.GetParticle().transform.position = col.gameObject.transform.position; GameEntityController gec = col.gameObject.GetComponent <GameEntityController>(); gec.DecrementHealth(_damage); _pool.FreeBullet(BulletType, gameObject); } break; case EntityType.Enemy: if (col.gameObject.CompareTag("Player") && !_hitted) { _hitted = true; _particlePool.GetParticle().transform.position = col.gameObject.transform.position; PlayerController pc = col.gameObject.GetComponent <PlayerController>(); pc.DecrementHealth(_damage); _pool.FreeBullet(BulletType, gameObject); } break; } }
void Awake() { settings = Settings.Instance(); util = Util.Instance; gameEntityController = gameObject.GetComponent<GameEntityController>() as GameEntityController; inputController = gameObject.GetComponent<IGameEntityInput>() as IGameEntityInput; networkFields = gameObject.GetComponent<NetworkFields>() as NetworkFields; }
void Awake() { gameEntityController = gameObject.GetComponent <GameEntityController>() as GameEntityController; inputController = gameObject.GetComponent <IGameEntityInput>() as IGameEntityInput; networkFieldsDb.GetData(); networkFieldsDef = networkFieldsDb.Clone(); networkFieldsDef.Init(); }
public virtual Vector2[] GetShoot(PlayerController player, GameEntityController shot) { Vector2 v = Vector2DistanceObjectToPlayer(player.transform.position, shot.transform.position); Vector2[] m = new Vector2[1]; m [0] = v; return(m); }
void Awake() { gameEntityController = gameObject.GetComponent<GameEntityController>() as GameEntityController; inputController = gameObject.GetComponent<IGameEntityInput>() as IGameEntityInput; networkFieldsDb.GetData(); networkFieldsDef = networkFieldsDb.Clone(); networkFieldsDef.Init(); }
public override Vector2[] GetShoot(PlayerController player, GameEntityController shot) { array_distancia = new Vector2[num_disparos]; Vector2 lookAt = new Vector2(player.transform.position.x - shot.transform.position.x, player.transform.position.y - shot.transform.position.y).normalized; for (int i = 0; i < num_disparos; i++) { array_distancia[i] = Rotate(lookAt, (i - num_disparos / 2) * 22.5f); } return(array_distancia); }
public override Vector3 GetMovement(PlayerController player, GameEntityController enemy) { Vector3 position_with_radio = player.transform.position; Vector3 distancia = player.transform.position - enemy.transform.position; if (distancia.magnitude < RadioInterno) { return(-distancia.normalized); } else if (distancia.magnitude > RadioExterno) { return(distancia.normalized); } else { return(MathUtils.Rotate(distancia.normalized, 90) * 2f / 3f); } }
private void UpdateShadow(GameEntityModel model, GameObject entityObject) { GameObject shadowObj = CharacterLoader.GetCharacterShadow(model, entityObject); PhysicPointModel pointModel = GameEntityController.GetPointModel(model); if (shadowObj == null || pointModel == null) { return; } Vector3 newShadowPosition; if (pointModel.collisionInpact.Y < 0) { newShadowPosition = pointModel.position.AsVector3(); } else { // Raycast on physics WorldModel world = StateManager.state.MainModel as WorldModel; if (world == null) { return; } PhysicWorldModel physicsModel = StateManager.state.GetModel(world.physicsModelId) as PhysicWorldModel; if (physicsModel == null) { return; } PhysicWorldController physicsController = physicsModel.Controller() as PhysicWorldController; if (physicsController == null) { return; } PhysicPointModel entityPoint = GameEntityController.GetPointModel(model); FixedVector3 intersection = physicsController.Raycast(physicsModel, entityPoint.position, FixedVector3.Down); newShadowPosition = intersection.AsVector3(); } // TODO: coordinates conversion from a setup file shadowObj.transform.position = PhysicPoint2DView.ConvertGameToViewCoordinates(newShadowPosition); shadowObj.transform.localPosition = new Vector3(0, shadowObj.transform.localPosition.y, 0.02f); }
public override Vector2[] GetShoot(PlayerController player, GameEntityController shot) { int num_disparos = 20; Vector2[] array_distancia = new Vector2[num_disparos]; Vector2 lookAt = new Vector2(shot.transform.position.x, shot.transform.position.y).normalized; for (int i = 0; i < num_disparos; i++) { array_distancia [i] = Rotate(lookAt, (i - num_disparos / 2) * 22.5f); } array_distancia = new Vector2[8]; array_distancia [0] = new Vector2(Mathf.Sin(TimeCounter), Mathf.Cos(TimeCounter)); array_distancia [1] = new Vector2(Mathf.Sin(TimeCounter + Mathf.PI / 2), Mathf.Cos(TimeCounter + Mathf.PI / 2)); array_distancia [2] = new Vector2(Mathf.Sin(TimeCounter + Mathf.PI), Mathf.Cos(TimeCounter + Mathf.PI)); array_distancia [3] = new Vector2(Mathf.Sin(TimeCounter + Mathf.PI * 3 / 2), Mathf.Cos(TimeCounter + Mathf.PI * 3 / 2)); array_distancia [4] = new Vector2(Mathf.Sin(-TimeCounter), Mathf.Cos(-TimeCounter)); array_distancia [5] = new Vector2(Mathf.Sin(-TimeCounter + Mathf.PI / 2), Mathf.Cos(-TimeCounter + Mathf.PI / 2)); array_distancia [6] = new Vector2(Mathf.Sin(-TimeCounter + Mathf.PI), Mathf.Cos(-TimeCounter + Mathf.PI)); array_distancia [7] = new Vector2(Mathf.Sin(-TimeCounter + Mathf.PI * 3 / 2), Mathf.Cos(-TimeCounter + Mathf.PI * 3 / 2)); return(array_distancia); }
public ReinaBrain(GameEntityController Game_entity_controller, InvokeEnemiesController Invoke_enemies_controller) : base(Game_entity_controller, Invoke_enemies_controller) { }
public ReyBrain(GameEntityController Game_entity_controller, InvokeEnemiesController Invoke_enemies_controller) { GEC = Game_entity_controller; IEC = Invoke_enemies_controller; }
public override Vector3 GetMovement(PlayerController player, GameEntityController enemy) { return(Vector3DistanceObjectToPlayer(player.transform.position, enemy.transform.position)); }
public override Vector3 GetMovement(PlayerController player, GameEntityController enemy) { if (_embiste) { if (TimeCounter < durada_embestir) { return(_aux_move); } else { //termina embestir _embiste = false; return(Vector3.zero); } } else { Vector3 position_with_radio = player.transform.position; Vector3 distancia = player.transform.position - enemy.transform.position; if (distancia.magnitude < RadioEmbiste) { _embiste = true; _aux_move = Vector3DistanceObjectToPlayer(player.transform.position, enemy.transform.position) .normalized; TimeCounter = 0; return(_aux_move); } else { if (_embiste) { _embiste = false; _vertical = true; _aux_move = player.transform.position - enemy.transform.position; } if (_vertical) { if (TimeCounter < durada_L) { _aux_move.x = 0; if ((int)_aux_move.y == 0) { _aux_move.y = 2; } return(_aux_move.normalized); } else { //termina embestir _vertical = false; _aux_move = player.transform.position - enemy.transform.position; TimeCounter = 0; return(Vector3.zero); } } else { if (TimeCounter < durada_L) { _aux_move.y = 0; if ((int)_aux_move.x == 0) { _aux_move.x = 2; } return(_aux_move.normalized); } else { //termina embestir _vertical = true; _aux_move = player.transform.position - enemy.transform.position; TimeCounter = 0; return(Vector3.zero); } } } } }
public override Vector3 GetMovement(PlayerController player, GameEntityController enemy) { return(Vector3.zero); }