Exemplo n.º 1
0
    private IEnumerator doRedmanOnCliff(Transform pos)
    {
        GameObject  red   = UnityEngine.Object.Instantiate <GameObject>((GameObject)Resources.Load("CutScene/redman_cutscene_prefab"), pos.position, pos.rotation);
        redmanSetup setup = red.GetComponent <redmanSetup>();

        red.transform.localScale   = new Vector3(1.15f, 1.15f, 1.15f);
        this.animator              = red.GetComponent <Animator>();
        setup.alignHeightToTerrain = true;
        setup.useIk = true;
        this.animator.SetBool("caveWalk3", true);
        this.leaveTime = Time.time;
        for (;;)
        {
            Vector3 playerPos = pos.InverseTransformPoint(LocalPlayer.Transform.position);
            float   angle     = Mathf.Atan2(playerPos.x, playerPos.z) * 57.29578f;
            float   dist      = Vector3.Distance(LocalPlayer.Transform.position, pos.position);
            if (dist < 90f || dist > 250f || angle > 70f || angle < -70f || Time.time > this.leaveTime + 40f)
            {
                break;
            }
            yield return(YieldPresets.WaitOneSecond);
        }
        this.animator.SetBool("toRun", true);
        base.StartCoroutine(this.removeRedman(red, 3f));
        yield break;
        yield break;
    }
Exemplo n.º 2
0
    private IEnumerator doCave2Spawn()
    {
        if (this.doneCave2)
        {
            yield break;
        }
        while (Clock.planecrash)
        {
            yield return(null);
        }
        yield return(YieldPresets.WaitTwentySeconds);

        for (;;)
        {
            while (Clock.Day != this.canSeeRedDay)
            {
                yield return(null);
            }
            Vector3 playerPos = this.caveSpawn2.transform.InverseTransformPoint(LocalPlayer.Transform.position);
            float   angle     = Mathf.Atan2(playerPos.x, playerPos.z) * 57.29578f;
            float   dist      = Vector3.Distance(LocalPlayer.Transform.position, this.caveSpawn2.transform.position);
            if (dist < 160f && dist > 100f && angle < 60f && angle > -60f && !this.doneCave2)
            {
                this.redMan = UnityEngine.Object.Instantiate <GameObject>((GameObject)Resources.Load("CutScene/redman_cutscene_prefab"), this.caveSpawn2.transform.position, this.caveSpawn2.transform.rotation);
                redmanSetup component = this.redMan.GetComponent <redmanSetup>();
                this.redMan.transform.localScale = new Vector3(1.15f, 1.15f, 1.15f);
                this.animator = this.redMan.GetComponent <Animator>();
                this.animator.SetBool("caveWalk2", true);
                this.leaveTime = Time.time;
                this.doneCave2 = true;
            }
            if (this.doneCave2 && (dist < 110f || dist > 200f || angle > 70f || angle < -70f || Time.time > this.leaveTime + 60f))
            {
                break;
            }
            yield return(YieldPresets.WaitTwoSeconds);

            yield return(YieldPresets.WaitPointOneSeconds);
        }
        this.animator.SetBool("toWalk", true);
        base.StartCoroutine(this.removeRedman(this.redMan, 10f));
        yield break;
        yield break;
    }
Exemplo n.º 3
0
    private IEnumerator doYachtSpawn()
    {
        if (this.doneYacht)
        {
            yield break;
        }
        while (Clock.planecrash)
        {
            yield return(null);
        }
        yield return(YieldPresets.WaitTwentySeconds);

        while (LocalPlayer.Transform)
        {
            while (Clock.Day != this.canSeeRedDay)
            {
                yield return(null);
            }
            Vector3 playerPos   = this.yachtSpawn.transform.InverseTransformPoint(LocalPlayer.Transform.position);
            float   playerAngle = Mathf.Atan2(playerPos.x, playerPos.z) * 57.29578f;
            float   dist        = Vector3.Distance(LocalPlayer.Transform.position, this.yachtSpawn.transform.position);
            if (dist < 390f && dist > 150f && !this.doneYacht)
            {
                this.redMan = UnityEngine.Object.Instantiate <GameObject>((GameObject)Resources.Load("CutScene/redman_cutscene_prefab"), this.yachtSpawn.transform.position, this.yachtSpawn.transform.rotation);
                this.redMan.transform.parent = this.yachtSpawn.transform;
                redmanSetup component = this.redMan.GetComponent <redmanSetup>();
                this.animator = this.redMan.GetComponent <Animator>();
                this.animator.SetBool("yachtScene", true);
                component.useIk = true;
                this.leaveTime  = Time.time;
                this.doneYacht  = true;
            }
            if (this.doneYacht && (dist < 145f || dist > 440f || Time.time > this.leaveTime + 100f))
            {
                this.animator.SetBool("yachtSceneLeave", true);
                base.StartCoroutine(this.removeRedman(this.redMan, 10f));
                yield break;
            }
            yield return(YieldPresets.WaitTwoSeconds);
        }
        yield break;
        yield break;
    }