public void Initialize(Vector2 pos, StructureOfWarrior str, int team, NeuralAI ai, APlayerController pla) { currentAction = new Actions.IdleAction(); sprRend = GetComponent <SpriteRenderer>(); transform.position = pos; playerOwner = pla; this.ai = ai; this.team = team; bloodMax = str.blood; speed = HelperConstants.speedMultOfWa; rotationSpeed = HelperConstants.warriorRotationSpeed; isShooter = true; positionsDuringSomeTime = new Helpers.Deque <Vector2>(3);//TODO: magic number stats = new Statistics(); //TODO: add limbs rigidbody2d = GetComponent <Rigidbody2D>(); angles = new List <int>(); #region Calculate angles Debug.Assert(raycastSensors % 2 == 1, "amount of sensors is too even"); var mul = 0; for (int i = 0; i < raycastSensors; i++) { if (i % 2 == 0) { angles.Add(90 - diffBetwSensorsInDeg * mul); } if (i % 2 == 1) { mul += 1; angles.Add(90 + diffBetwSensorsInDeg * mul); } } #endregion Calculate angles Revive(pos); }
public void Tick(Actions.Action action) { Tick(); currentAction = action; }