コード例 #1
0
 public void RemovePhysicsComeponent(EHPhysics2D PhysicsComponent)
 {
     if (!PhysicsComponentSet.Remove(PhysicsComponent))
     {
         Debug.LogWarning("This phsyics component was already added to our Physics Manager. Please be sure to only remove this component once.");
         return;
     }
 }
コード例 #2
0
 public void AddPhysicsComponent(EHPhysics2D PhysicsComponent)
 {
     if (!PhysicsComponentSet.Add(PhysicsComponent))
     {
         Debug.LogWarning("This Physics was already added to our Physics manager list. Please be sure to only add this component once");
         return;
     }
 }
コード例 #3
0
 private void Awake()
 {
     Health                    = MaxHealth;
     Physics2D                 = GetComponent <EHPhysics2D>();
     AnimReference             = GetComponent <Animator>();
     AssociatedHitboxComponent = GetComponent <EHHitboxActorComponent>();
     AnimReference.SetFloat(ANIM_HITSTUN, -1);
 }
コード例 #4
0
ファイル: WallJump.cs プロジェクト: EmptyHouse/ProjectHina
 private void Awake()
 {
     CharacterMovement = GetComponent <EHCharacterMovementComponent>();
     CharacterCollider = GetComponent <EHBox2DCollider>();
     Physics2D         = GetComponent <EHPhysics2D>();
     CharacterAnim     = GetComponent <Animator>();
     if (CharacterCollider)
     {
         CharacterCollider.OnCollision2DBegin += OnCharacterCollision;
         CharacterCollider.OnCollision2DEnd   += OnCharacterCollisionEnd;
     }
 }
コード例 #5
0
 private void Awake()
 {
     MovementComponent = GetComponent <EHCharacterMovementComponent>();
     DamageComponent   = GetComponent <EHDamageableComponent>();
     Physics2D         = GetComponent <EHPhysics2D>();
     CharacterAnim     = GetComponent <Animator>();
     MovementComponent.OnCharacterLanded += OnCharacterLanded;
     DashesRemaining = MaxDashesBeforeLanding;
     if (DamageComponent)
     {
         DamageComponent.OnCharacterHealthChanged += OnCharacterHealthChanged;
     }
 }
コード例 #6
0
 protected virtual void Awake()
 {
     ProjectileAnim       = GetComponent <Animator>();
     Physics2D            = GetComponent <EHPhysics2D>();
     HitboxActorComponent = GetComponent <EHHitboxActorComponent>();
 }
コード例 #7
0
 protected virtual void Awake()
 {
     CharacterSpriteRenderer = GetComponentInChildren <SpriteRenderer>();
     CharacterAnimator       = GetComponent <Animator>();
     Physics2D = GetComponent <EHPhysics2D>();
 }
コード例 #8
0
    /// <summary>
    /// Coroutine that carries our our scene transition
    /// </summary>
    /// <param name="PlayerCharacter"></param>
    /// <param name="DoorToLoad"></param>
    /// <returns></returns>
    private IEnumerator SceneTransitionCoroutine(EHPlayerCharacter PlayerCharacter, DoorData DoorToLoad)
    {
        if (!PlayerCharacter)
        {
            Debug.LogWarning("The player that was passed in was null");
            yield break;
        }
        if (!DoorToLoad)
        {
            Debug.LogWarning("The Door to load was null");
            yield break;
        }
        bIsExecutingSceneTransition = true;
        Image_BlackScreen.color     = Color.clear;
        Image_BlackScreen.gameObject.SetActive(true);

        PlayerCharacter.GetComponent <EHPlayerController>().enabled = false;
        float TimeThatHasPassed = 0;

        while (TimeThatHasPassed < TransitionTimeSeconds)
        {
            yield return(null);

            TimeThatHasPassed      += EHTime.RealDeltaTime;
            Image_BlackScreen.color = new Color(0, 0, 0, TimeThatHasPassed / TransitionTimeSeconds);
        }
        Image_BlackScreen.color = Color.black;

        RoomActor CurrentlyLoadedRoom = BaseGameOverseer.Instance.CurrentlyLoadedRoom;

        if (CurrentlyLoadedRoom.GetAssociatedRoomData() != DoorToLoad.GetDoorRoom())
        {
            if (CurrentlyLoadedRoom && CurrentlyLoadedRoom.GetAssociatedRoomData())
            {
                print(CurrentlyLoadedRoom.GetAssociatedRoomData().RoomScene);
                yield return(SceneManager.UnloadSceneAsync(CurrentlyLoadedRoom.GetAssociatedRoomData().RoomScene));
            }
            yield return(SceneManager.LoadSceneAsync(DoorToLoad.GetDoorRoom().RoomScene, LoadSceneMode.Additive));
        }
        yield return(new WaitForSecondsRealtime(0.5f));

        DoorActor DoorToSpawnFrom        = BaseGameOverseer.Instance.CurrentlyLoadedRoom.GetRoomDoorTriggerFromDoorData(DoorToLoad);
        Vector3   CharacterSpawnPosition = Vector3.zero;

        if (DoorToSpawnFrom == null)
        {
            Debug.LogError("There was no associated door actor to spawn our character");
        }
        else
        {
            CharacterSpawnPosition = DoorToSpawnFrom.GetSpawnPosition();
        }

        PlayerCharacter.SetCharacterAtPosition(CharacterSpawnPosition);
        EHPhysics2D Physics2D = PlayerCharacter.GetComponent <EHPhysics2D>();

        if (Physics2D)
        {
            Physics2D.Velocity = Vector2.zero;
        }
        BaseGameOverseer.Instance.MainGameCamera.FocusCameraImmediate();
        PlayerCharacter.GetComponent <EHPlayerController>().enabled = true;
        TimeThatHasPassed           = 0;
        bIsExecutingSceneTransition = false;
        while (TimeThatHasPassed < TransitionTimeSeconds && !bIsExecutingSceneTransition)
        {
            yield return(null);

            TimeThatHasPassed      += EHTime.RealDeltaTime;
            Image_BlackScreen.color = new Color(0, 0, 0, 1 - (TimeThatHasPassed / TransitionTimeSeconds));
        }

        Image_BlackScreen.color = Color.clear;
    }