Ejemplo n.º 1
0
        private void Awake()
        {
            _rigidbody2D = GetComponent <Rigidbody2D>();
            _collider2D  = GetComponent <Collider2D>();

            _input = GetComponent <ITankInput>();
        }
Ejemplo n.º 2
0
    public void Setup()
    {
        m_Movement = m_Instance.GetComponent <TankMovement>();
        m_Shooting = m_Instance.GetComponent <TankShooting>();
        m_Health   = m_Instance.GetComponent <TankHealth>();

        m_TankInput            = TankInputFactory.MakeTankWithInput(m_InputType);
        m_Movement.m_TankInput = m_TankInput;
        m_Shooting.m_TankInput = m_TankInput;

        m_TankScore        = new Score(m_PlayerNumber);
        m_Shooting.m_Score = m_TankScore;
        m_Health.m_Score   = m_TankScore;

        m_CanvasGameObject = m_Instance.GetComponentInChildren <Canvas>().gameObject;

        m_Movement.m_PlayerNumber = m_PlayerNumber;
        m_Shooting.m_PlayerNumber = m_PlayerNumber;

        m_ColoredPlayerText = "<color=#" + ColorUtility.ToHtmlStringRGB(m_PlayerColor) + ">PLAYER " + m_PlayerNumber + "</color>";

        MeshRenderer[] renderers = m_Instance.GetComponentsInChildren <MeshRenderer>();

        for (int i = 0; i < renderers.Length; i++)
        {
            renderers[i].material.color = m_PlayerColor;
        }
        m_CurrentColor = m_PlayerColor;
    }
Ejemplo n.º 3
0
    void Awake()
    {
        tankInput      = new PlayerControlInput();
        tankEngine     = new TankEngine(tankInput, this.transform, property);
        tankHeadRotate = new TankHeadRotate(tankInput, tankHead, property);
        tankFire       = new TankFire(tankInput, tankShootPoint, property, fireAnimator, team);
        tankHealth     = new TankHealth(property);

        HandleHpChange?.Invoke(this, tankHealth.GetCurrentHealth());
    }
Ejemplo n.º 4
0
    public TankFire(ITankInput tankInput, Transform tankShootPoint, TankProperty property, Animator fireAnimator, Team team)
    {
        this.tankInput      = tankInput;
        this.tankShootPoint = tankShootPoint;
        this.property       = property;
        this.fireAnimator   = fireAnimator;
        this.team           = team;

        reloadTimer = new ScaledTimer(property.ReloadTime, false);
        Bullet      = (GameObject)Resources.Load("prefabs/Bullet", typeof(GameObject));
    }
Ejemplo n.º 5
0
 public TankHeadRotate(ITankInput tankInput, GameObject tankHead, TankProperty property)
 {
     this.tankInput = tankInput;
     this.tankHead  = tankHead;
     this.property  = property;
 }
Ejemplo n.º 6
0
 public TankEngine(ITankInput tankInput, Transform tank, TankProperty property)
 {
     this.tankInput = tankInput;
     this.tank      = tank;
     this.property  = property;
 }