Example #1
0
    public void Init(Elemental.Element element = Elemental.Element.NONE)
    {
        _instance = this;

        _rigidbody = GetComponent <Rigidbody>();

        SetupStateMachine();
        _cameraController = FindObjectOfType <GolfCameraController>();
        StopAllForces();
        ResetToPosition(InitialPosition);
        _stateMachine.ChangeState(_waitForInputState);
        _cameraController.SetInitialCamera();

        EventManager.Instance.StartListening(ShootEvent.EventName, PanFinished);

        _elementalAbsorber = transform.GetComponent <ElementalAbsorber>();
        if (element == Elemental.Element.NONE)
        {
            return;
        }

        if (element != Elemental.Element.ANY)
        {
            _elementalAbsorber.CurrentElement = element;
            return;
        }

        List <Elemental.Element> availableColors = new List <Elemental.Element>();

        availableColors.Add(Elemental.Element.EARTH);
        availableColors.Add(Elemental.Element.FIRE);
        availableColors.Add(Elemental.Element.WATER);

        _elementalAbsorber.CurrentElement = (Elemental.Element)UnityEngine.Random.Range(0, availableColors.Count);
    }
Example #2
0
    public override void Init()
    {
        var player = FindObjectOfType <PlayerController>();

        playerAbsorber = player.gameObject.GetComponent <ElementalAbsorber>();

        playerAbsorber.OnPlayerAbsorbs += OnPlayerAbsorbed;

        OnPlayerAbsorbed(playerAbsorber.CurrentElement);
    }