private void Start()
    {
        playerMovement = this.EnsureComponent <PlayerMovement>();
        rb             = this.EnsureComponent <Rigidbody2D>();
        stateManager   = this.EnsureComponent <PlayerStateManager>();
        carrier        = this.EnsureComponent <BallCarrier>();
        tronMechanic   = this.EnsureComponent <PlayerTronMechanic>();
        cameraShake    = GameObject.FindObjectOfType <CameraShake>();

        GameManager.instance.notificationManager.CallOnMessageIfSameObject(
            Message.PlayerPressedDash, DashPressed, this.gameObject);
        GameManager.instance.notificationManager.CallOnMessageIfSameObject(
            Message.PlayerReleasedDash, ChargeReleased, this.gameObject);
    }
Exemple #2
0
    public void Initialize(PlayerTronMechanic creator, float lifeLength, TeamManager team,
                           float tronWallOffset)
    {
        this.lifeLength     = lifeLength;
        this.team           = team;
        this.creator        = creator;
        this.tronWallOffset = tronWallOffset;

        lineRenderer = this.EnsureComponent <LineRenderer>();
        lineRenderer.positionCount = 2;
        linePoints[0] = creator.transform.position - ((creator.transform.position - transform.position)).normalized * tronWallOffset;

        edgeCollider = this.EnsureComponent <EdgeCollider2D>();

        lineRenderer.material = team.resources.wallMaterial;
        stretchWallCoroutine  = StartCoroutine(StretchWall());
    }