private void InitTank(ITankSettings settings) { var tankMesh = new Mesh( this, GameSettings.rootPath + settings.Sprite, GameController.instance.mainGraphics); if (!IsAI) { CharCtrl = new PlayerCharacterController(this) { Speed = settings.MovementSpeed } } ; else { CharCtrl = new EnemyCharacterController(this) { Speed = settings.MovementSpeed } }; // Collider var collider = new Collider(this) { rectangle = new Rectangle( Point.Round(transform.position), new Size(tankMesh.Image.Width, tankMesh.Image.Height)) }; collider.OnColliding += OnColliding; // Shooter ShootCtrl = new ShootCtrl(this, isKeyboardControlled: !IsAI) { ProjectileSprite = GameSettings.rootPath + settings.ProjectileSprite, ProjectileSpeed = settings.ProjectileSpeed, dmg = settings.Dmg, coolDown = settings.ShootCD }; // Life var life = new Life(this) { maxHP = settings.HP, hpRegen = settings.HPRegen }; life.Init(); if (IsAI) { life.onDie += GameController.instance.player.OnEnemyDie; } else { } }
public override void Start() { _playerTransform = GameController.instance.player.gameObject.GetComponent <Transform>(); _schut = gameObject.GetComponent <ShootCtrl>(); _thisTankTransform = gameObject.GetComponent <Transform>(); playerColliderWidth = GameController.instance.player.gameObject.GetComponent <Collider>().rectangle.Width; playerColliderHeight = GameController.instance.player.gameObject.GetComponent <Collider>().rectangle.Height; }