コード例 #1
0
    private void Awake()
    {
        if (Instance != null)
        {
            Destroy(gameObject);
            return;
        }
        else
        {
            Instance = this;
        }

        dashEnergyList = new List <float>(dashPointAmount);
        for (int i = 0; i < dashPointAmount; i++)
        {
            dashEnergyList.Add(0);
        }
        passedFloorQueue  = new Queue <GameObject>();
        timer             = 0.0f;
        passingBridge     = null;
        deferredJoyConRot = targetJoyConRot;
        State             = MarathonPlayerStatus.WarmingUp;
        rd  = GetComponent <Rigidbody>();
        ani = GetComponent <Animator>();
        dizzyEffectObj.SetActive(false);
        shouldCheckUnstable      = false;
        shouldCountUnstableTimer = false;
        passBridgeBenchmarkQuat  = Quaternion.identity;
        prevFullHoneyCount       = 0;
        frameCount = 0;
        Debug.Assert(unstableRemedyTime < unstableHoldTime);
    }
コード例 #2
0
ファイル: MusicalNote.cs プロジェクト: YongGwang/School_Game
    public void OnExit(MarathonPlayerManager actor)
    {
        var rootObj = transform.parent.parent.parent.gameObject;

        rootObj.GetComponent <Collider>().enabled = false;
        GetComponent <Collider>().enabled         = false;
        Destroy(rootObj, 1.5f);
    }
コード例 #3
0
 public void OnExit(MarathonPlayerManager actor)
 {
     if (actor.State == MarathonPlayerManager.MarathonPlayerStatus.Falling)
     {
         return;
     }
     actor.SetPlayerState(MarathonPlayerManager.MarathonPlayerStatus.Running);
     actor.RecenterPlayerJoyCon();
     actor.UpdateBridgeInfo();
 }
コード例 #4
0
ファイル: WallBlock.cs プロジェクト: YongGwang/School_Game
    public void OnEnter(MarathonPlayerManager actor)
    {
        if (actor.State != MarathonPlayerManager.MarathonPlayerStatus.Running)
        {
            return;
        }

        AudioManager.Instance.Play("HitWallBlock");
        actor.SetPlayerState(MarathonPlayerManager.MarathonPlayerStatus.BeKnockedBack);
    }
コード例 #5
0
    public void OnEnter(MarathonPlayerManager actor)
    {
        if (actor.State != MarathonPlayerManager.MarathonPlayerStatus.Dashing)
        {
            actor.SetPlayerState(MarathonPlayerManager.MarathonPlayerStatus.BeKnockedBack);
        }

        AudioManager.Instance.Play("HitLogPile");
        Instantiate(crashEffect, transform.position, Quaternion.identity);
        Destroy(gameObject);
    }
コード例 #6
0
    public void OnEnter(MarathonPlayerManager actor)
    {
        if (isTriggered)
        {
            return;
        }
        else
        {
            isTriggered = true;
        }

        ShowHint();
        Invoke("SpawnGayDeer", deerSpawnDelay);
        Destroy(gameObject, hintLifeLength);
    }
コード例 #7
0
    public void OnEnter(MarathonPlayerManager actor)
    {
        actor.SetPlayerState(MarathonPlayerManager.MarathonPlayerStatus.Dizzying);

        /// Bounce from player
        var randVect = UnityEngine.Random.onUnitSphere;

        if (randVect.y < 0.0f)
        {
            randVect = Vector3.Scale(randVect, Vector3.down);
        }
        // Ensure randVect is point front of player
        if (Vector3.Dot(randVect, actor.GetPlayerPosition()) < 0.0f)
        {
            randVect = Vector3.Scale(randVect, new Vector3(1.0f, 1.0f, -1.0f));
        }
        moveDir = randVect.normalized;
    }
コード例 #8
0
    public void OnEnter(MarathonPlayerManager actor)
    {
        if (isTriggered)
        {
            return;
        }
        else
        {
            isTriggered = true;
        }

        var newBear = Instantiate(whiteBearPrefab,
                                  whiteBearSpawnPositionMark.position,
                                  whiteBearSpawnPositionMark.rotation);

        whiteBearAnimComp = newBear.transform.GetChild(0).GetComponent <Animator>();
        Debug.Assert(whiteBearAnimComp != null);
        Destroy(newBear, whiteLiftLength);
        StartCoroutine(FireMissile());
    }
コード例 #9
0
 private void OnDestroy()
 {
     Instance = null;
     Resources.UnloadUnusedAssets();
 }
コード例 #10
0
 void IReactionable.OnEnter(MarathonPlayerManager actor)
 {
     AudioManager.Instance.Play("GetHoney");
     actor.AddDashEnergy(honeyValue);
     Destroy(gameObject);
 }
コード例 #11
0
 public void OnEnter(MarathonPlayerManager actor)
 {
     actor.SetPlayerState(MarathonPlayerManager.MarathonPlayerStatus.PassingBridge);
     actor.UpdateBridgeInfo(this);
 }
コード例 #12
0
 void IReactionable.OnExit(MarathonPlayerManager actor)
 {
 }
コード例 #13
0
 void IReactionable.OnStay(MarathonPlayerManager actor)
 {
 }
コード例 #14
0
 public void OnStay(MarathonPlayerManager actor)
 {
 }
コード例 #15
0
 public void OnExit(MarathonPlayerManager actor)
 {
 }
コード例 #16
0
 public void OnEnter(MarathonPlayerManager actor)
 {
     actor.SetPlayerState(MarathonPlayerManager.MarathonPlayerStatus.ReachGoal);
     OnPlayerReachGoal?.Invoke();
 }
コード例 #17
0
 public void BeforePlayerFelledOut(MarathonPlayerManager actor)
 {
     GetComponent <Collider>().enabled = false;
     playerFellOutPosition             = actor.GetPlayerPosition();
 }
コード例 #18
0
ファイル: GayDeer.cs プロジェクト: YongGwang/School_Game
 public void OnEnter(MarathonPlayerManager actor)
 {
     actor.SetPlayerState(MarathonPlayerManager.MarathonPlayerStatus.Dizzying);
 }