示例#1
0
    IEnumerator CoroutineLunchAnimation(EnumerationInput input)
    {
        string animationToActivate = "";
        float  timeStart           = Time.time;

        switch (input)
        {
        case EnumerationInput.Jump:
            animationToActivate = LogicAnimationController.jumpParameter;
            break;

        case EnumerationInput.Slide:
            animationToActivate = LogicAnimationController.slideParameter;
            break;

        case EnumerationInput.Spear:
            animationToActivate = LogicAnimationController.spearParameter;
            break;
        }
        this.animator.SetBool(jumpParameter, false);
        this.animator.SetBool(spearParameter, false);
        this.animator.SetBool(slideParameter, false);
        if (!animationEnforce)
        {
            this.animator.SetBool(animationToActivate, true);
            do
            {
                yield return(null);
            } while (Time.time < timeStart + 0.30f);
            this.animator.SetBool(animationToActivate, false);
        }
    }
示例#2
0
    internal EnumerationInput GetAnimationRunning()
    {
        AnimatorStateInfo currentState  = this.animator.GetCurrentAnimatorStateInfo(0);
        int myCurrentState              = currentState.fullPathHash;
        EnumerationInput myInputPlaying = EnumerationInput.Run;

        if (myCurrentState == this.SpearState)
        {
            myInputPlaying = EnumerationInput.Spear;
        }
        if (myCurrentState == this.JumpState)
        {
            myInputPlaying = EnumerationInput.Jump;
        }
        if (myCurrentState == this.SlideState)
        {
            myInputPlaying = EnumerationInput.Slide;
        }
        if (animationEnforce)
        {
            myInputPlaying = EnumerationInput.Enforce;
        }

        return(myInputPlaying);
    }
示例#3
0
    internal void Enforce()
    {
        EnumerationInput current = this.GetAnimationRunning();

        if (!animationEnforce)
        {
            if (current == EnumerationInput.Run)
            {
                this.animationEnforce = true;
                this.StartCoroutine("CoroutineEnforce");
            }
        }
    }
示例#4
0
    public void AddObstacle(EnumerationInput obstacle)
    {
        GameObject obstacleAdded = null;

        string RunFolder = "Obstacles/ObstacleRun";

        switch (obstacle)
        {
        case EnumerationInput.Run:
            obstacleAdded = Instantiate(Resources.Load(RunFolder)) as GameObject;
            break;

        case EnumerationInput.Jump:
            if (debugNoJump)
            {
                obstacleAdded = Instantiate(Resources.Load(RunFolder)) as GameObject;
            }
            else
            {
                obstacleAdded = Instantiate(Resources.Load("Obstacles/ObstacleJump")) as GameObject;
            }
            break;

        case EnumerationInput.Slide:
            if (debugNoSlide)
            {
                obstacleAdded = Instantiate(Resources.Load(RunFolder)) as GameObject;
            }
            else
            {
                obstacleAdded = Instantiate(Resources.Load("Obstacles/ObstacleSlide")) as GameObject;
            }
            break;

        case EnumerationInput.Enforce:
            if (debugNoEnforce)
            {
                obstacleAdded = Instantiate(Resources.Load(RunFolder)) as GameObject;
            }
            else
            {
                obstacleAdded = Instantiate(Resources.Load("Obstacles/ObstacleEnforce")) as GameObject;
            }
            break;

        case EnumerationInput.Spear:
            if (debugNoSpear)
            {
                obstacleAdded = Instantiate(Resources.Load(RunFolder)) as GameObject;
            }
            else
            {
                obstacleAdded = Instantiate(Resources.Load("Obstacles/ObstacleSpear")) as GameObject;
            }
            break;
        }


        if (this.Obstacles.Count == 0)
        {
            obstacleAdded.transform.position = Vector3.zero;
        }
        else
        {
            obstacleAdded.transform.position = new Vector3(this.lenghtObstacle * this.Obstacles.Count, 0);
        }
        this.Obstacles.Add(obstacleAdded);
    }
示例#5
0
    public void AddObstacle()
    {
        EnumerationInput myRandomObstacle = (EnumerationInput)UnityEngine.Random.Range(0, 4);

        this.AddObstacle(myRandomObstacle);
    }