コード例 #1
0
        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
            {
            }
        }
コード例 #2
0
 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;
 }