示例#1
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        PlayerCharacterScript obj = collision.GetComponent <PlayerCharacterScript>();

        if (obj != null)
        {
            if (progCtrl.getTryingOut())
            {
                Vector2 position       = rigib.position;
                Vector2 targetPosition = position;
                targetPosition.x = position.x + 1f * horizontal;

                RaycastHit2D raycast = Physics2D.Raycast(position, targetPosition, 1);
                if (raycast.collider != null && raycast.collider.CompareTag("Wall"))
                {
                    Debug.Log("Wall.");
                }
                else if (targetPosition.x < position.x)
                {
                    //obj.setPushing();
                    rigib.MovePosition(targetPosition);
                }
            }
        }
    }
示例#2
0
    //==========================================================================================
    // monobehaviour methods
    //==========================================================================================

    // Use this for initialization
    void Start()
    {
        _playerTransform = GameObject.FindGameObjectWithTag("Player").transform.Find("body");
        _playerScript    = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerCharacterScript>();

        EventManager.Instance.OnAnchorGrabbedEvent += OnAnchorGrabbedEvent;
    }
示例#3
0
    // Use this for initialization
    void Start()
    {
        // Get objects that aren't set by me in the Unity editor.
        PlayerCharacterScriptObject = PlayerGameObject.GetComponent <PlayerCharacterScript>();

        HelathBarRectTransform        = HealthBar.GetComponent <RectTransform>();
        HealthBarOverlayRectTransform = HealthBarOverlay.GetComponent <RectTransform>();
    }
    private void OnTriggerExit2D(Collider2D collision)
    {
        PlayerCharacterScript player = collision.GetComponent <PlayerCharacterScript>();

        if (player != null)
        {
            player.setWallJump(false);
        }
    }
    private void OnTriggerStay2D(Collider2D other)
    {
        PlayerCharacterScript player = other.GetComponent <PlayerCharacterScript>();

        if (player)
        {
            Debug.Log("Ground detected. " + rigid.position.y);
        }
    }
    void OnTriggerEnter2D(Collider2D coll)
    {
        PlayerCharacterScript controller = coll.GetComponent <PlayerCharacterScript>();

        if (controller != null)
        {
            controller.setAnimationFreeze();
            unfreeze = true;
        }
    }
示例#7
0
 /// <summary>
 /// Specified player interacts with this object.
 /// Creates dialogBox and allows player to toggle through whole message.
 /// Needed to implement IInteractable.
 /// </summary>
 /// <param name="player">Player</param>
 public void Interact(PlayerCharacterScript player)
 {
     if (dialogBox == null)
     {
         WriteMsg();
     }
     else
     {
         ToggleMessage();
     }
 }
示例#8
0
    public void LoadMenu()
    {
        SessionScore = (int)UIManager.Instance.Score;

        if (SessionScore > BestSessionScore)
        {
            BestSessionScore = SessionScore;
        }

        int oldLevel = ComputeLevel(TotalScore) + 1;

        OldTotalScore = TotalScore;
        TotalScore   += SessionScore;
        int newLevel = ComputeLevel(TotalScore) + 1;

        //*****
        int totalPossibleScore = 0;

        foreach (int x in _levelExperience)
        {
            totalPossibleScore += x;
        }
        if (TotalScore > totalPossibleScore)
        {
            TotalScore = totalPossibleScore;
        }
        //*****

        if (newLevel > oldLevel && newLevel % 5 == 0)
        {
            AmplitudeHelper.Instance.LogEvent("lvl " + newLevel + " reached");
        }

        //***************************
        PlayerPrefs.SetInt("TotalScore", TotalScore);
        PlayerPrefs.SetInt("BestSessionScore", BestSessionScore);

        //***************************
        PlayerCharacterScript player = GameObject.FindObjectOfType <PlayerCharacterScript>();

        var customProperties = new Dictionary <string, object>()
        {
            { "Environment", EnvironmentName },
            { "Stage Score", SessionScore },
            { "Altitude", player.HighestAltitude },
            { "Character", CharacterName },
            { "Last Chunk", player.CurrentChunkName }
        };

        AmplitudeHelper.Instance.LogEvent("Stage End", customProperties);

        //***************************
        SceneManager.LoadSceneAsync("Scenes/Menu");
    }
    private void OnTriggerEnter2D(Collider2D coll)
    {
        PlayerCharacterScript player = coll.GetComponent <PlayerCharacterScript>();

        if (player != null && progCtrl.getDoorActive())
        {
            player.setAnimationFreeze();
            unfreeze = true;
            anim[0].SetActive(true);
        }
    }
    private void OnTriggerStay2D(Collider2D coll)
    {
        PlayerCharacterScript controller = coll.GetComponent <PlayerCharacterScript>();

        if (controller != null && destruct)
        {
            controller.levelUp();
            controller.unFreeze();
            Destroy(gameObject);
        }
    }
示例#11
0
    private void OnTriggerEnter2D(Collider2D coll)
    {
        PlayerCharacterScript player = coll.GetComponent <PlayerCharacterScript>();

        if (player != null && player.getLevel() >= 2 && !isVineBridge || player != null && progCtrl.getBridge() && isVineBridge)
        {
            player.setAnimationFreeze();
            destination = new DestinationControllerScript(x, y, player.getPosition());
            destination.setPlayerInstance(player);
            unfreeze = true;
            anim[0].SetActive(true);
        }
    }
    private void OnTriggerStay2D(Collider2D collision)
    {
        PlayerCharacterScript player = collision.GetComponent <PlayerCharacterScript>();

        if (player != null && progCtrl.getFlyer())
        {
            before.SetActive(false);
            after.SetActive(true);
            coll.SetActive(false);

            progCtrl.setBridge();

            Destroy(this);
        }
    }
示例#13
0
    void OnTriggerEnter2D(Collider2D other)
    {
        player = other.GetComponent <PlayerCharacterScript>();

        if (player != null && (isVineBridge && progCtrl.getFlyer()) || player != null && !isVineBridge)
        {
            if (isTryingOut && tryingOutCount <= 3)
            {
                tryingOutCount += 1;
            }
            else
            {
                active = true;
            }
        }
    }
示例#14
0
 public void Awake()
 {
     if (NestID < 0)
     {
         Debug.Log("biep boep m**********r! set my nest");
     }
     GameObject[] Pla = GameObject.FindGameObjectsWithTag("Player");
     foreach (GameObject player in Pla)
     {
         Players.Add(player.GetComponent <PlayerCharacterScript>());
         if (player.GetComponent <PlayerCharacterScript>().playerID == NestID)
         {
             Myborb = player.GetComponent <PlayerCharacterScript>();
         }
     }
     InvokeRepeating(nameof(CheckIfPlayerNear), 0, Intervallcheck);
 }
示例#15
0
    // Use this for initialization
    void Start()
    {
        _playerTransform = GameObject.FindGameObjectWithTag("Player").transform.Find("body");
        _playerScript    = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerCharacterScript>();

        _acceleration = GameManagerScript.Instance.GetAccelerationStep(0);

        AudioClip music = GameManagerScript.Instance.StageMusic;

        if (music != null)
        {
            AudioSource audioSource = this.transform.Find("Music").GetComponent <AudioSource>();
            audioSource.clip = music;
            audioSource.Play();
        }

        if (!GameManagerScript.Instance.UseBackgroundSprite && GameManagerScript.Instance.CameraBackgroundPrefab != null)
        {
            Instantiate(GameManagerScript.Instance.CameraBackgroundPrefab, this.transform);
        }
    }
示例#16
0
        /// <summary>
        /// Set initial references to neccesary objects and validate data.
        /// Executes initial layering of scenery, npcs and interactables.
        /// </summary>
        private void SetInitialReference()
        {
            player = GameObject.Find("Player").GetComponent <PlayerCharacterScript>();

            //set intial layering for all scenery elements
            var tmp = GameObject.Find("Scenery").GetComponent <Transform>();

            foreach (Transform curr in tmp)
            {
                Renderer r = curr.GetComponent <Renderer>();
                r.sortingOrder = GetLayer(curr.position.y);
            }
            //set intial layering for all interatables elements
            tmp = GameObject.Find("Interactables").GetComponent <Transform>();

            foreach (Transform curr in tmp)
            {
                Renderer r = curr.GetComponent <Renderer>();
                r.sortingOrder = GetLayer(curr.position.y);
            }

            GetNPCs();
        }
示例#17
0
 public void setPlayer(PlayerCharacterScript player)
 {
     this.player = player;
 }
示例#18
0
 /// <summary>
 /// Specified player interacts with this object.
 /// Works with players inventory.
 /// Needed to implement IInteractable.
 /// </summary>
 /// <param name="player">Player</param>
 public void Interact(PlayerCharacterScript player)
 {
     player.UpdateInventory(item, (count > 0) ? count : 0);
     player.RemoveInteractable(this.gameObject);
     Destroy(this.gameObject);
 }
示例#19
0
 /// <summary>
 /// Set initial references to neccesary objects and validate data.
 /// </summary>
 private void SetInitialReference()
 {
     player = GameObject.Find("Player").GetComponent <PlayerCharacterScript>();
 }
示例#20
0
 /// <summary>
 /// Specified player interacts with this object.
 /// Needed to implement IInteractable.
 /// </summary>
 /// <param name="player">Player</param>
 public void Interact(PlayerCharacterScript player)
 {
     this.Use();
 }
示例#21
0
    public void LoadMenu()
    {
        PlayerCharacterScript       player = GameObject.FindObjectOfType <PlayerCharacterScript>();
        Dictionary <string, object> customProperties;

        //**************************************************************
        //Send EventManager StageEnded event
        EventManager.Instance.SendOnStageEndedEvent((int)player.HighestAltitude, GameManagerScript.Instance.CharacterName);

        //**************************************************************
        //
        ChallengeInfo challengeInfo = null;

        foreach (ChallengeInfo info in _challengeList)
        {
            if (info.name == _challenge.Name)
            {
                challengeInfo = info;
                break;
            }
        }

        if (challengeInfo != null)
        {
            int level   = ComputeLevel(TotalScore + SessionScore);
            int score   = (int)(_challenge.X * (level + 1) * challengeInfo.multiplier * _challengeScoreMultiplierByLevel[level]);
            int x       = _challenge.X;
            int current = _challenge.Current;

            if (score > _challenge.Score)
            {
                switch (_challenge.Name)
                {
                case "ForeverAltitudeChallenge":
                    _challenge = new ForeverAltitudeChallenge(x, score, current);
                    break;

                case "ForeverAnchorChallenge":
                    _challenge = new ForeverAnchorChallenge(x, score, current);
                    break;

                case "ForeverMoonstoneChallenge":
                    _challenge = new ForeverMoonstoneChallenge(x, score, current);
                    break;

                case "ForeverRockChallenge":
                    _challenge = new ForeverRockChallenge(x, score, current);
                    break;

                case "StageAltitudeChallenge":
                    _challenge = new StageAltitudeChallenge(x, score, current);
                    break;

                case "StageAnchorChallenge":
                    _challenge = new StageAnchorChallenge(x, score, current);
                    break;

                case "StageMoonstoneChallenge":
                    _challenge = new StageMoonstoneChallenge(x, score, current);
                    break;

                case "CharacterChallenge":
                    break;

                case "StageRockChallenge":
                    _challenge = new StageRockChallenge(x, score, current);
                    break;
                }
            }
        }

        //**************************************************************
        //Update Score
        SessionScore = (int)UIManager.Instance.Score;

        if (_challenge.Completed)
        {
            SessionScore += _challenge.Score;

            string challengeName        = _challenge.Name;
            int    challengeLifetime    = _challenge.Lifetime;
            int    challengeTargetValue = _challenge.X;

            customProperties = new Dictionary <string, object>()
            {
                { "challenge name", challengeName },
                { "challenge lifetime", challengeLifetime },
                { "challenge targetValue", challengeTargetValue }
            };

            AmplitudeHelper.Instance.LogEvent("Challenge completed", customProperties);
        }

        if (SessionScore > BestSessionScore)
        {
            BestSessionScore = SessionScore;
        }

        int oldLevel = ComputeLevel(TotalScore) + 1;

        OldTotalScore = TotalScore;
        TotalScore   += SessionScore;
        int newLevel = ComputeLevel(TotalScore) + 1;

        //**************************************************************
        //Clamp Score
        int totalPossibleScore = 0;

        foreach (int aaa in _levelExperience)
        {
            totalPossibleScore += aaa;
        }
        if (TotalScore > totalPossibleScore)
        {
            TotalScore = totalPossibleScore;
        }

        //**************************************************************
        //Update PlayerPrefs
        PlayerPrefs.SetInt("TotalScore", TotalScore);
        PlayerPrefs.SetInt("BestSessionScore", BestSessionScore);

        PlayerPrefs.SetInt("ChallengeCurrent", _challenge.Current);
        PlayerPrefs.SetInt("ChallengeScore", _challenge.Score);

        //**************************************************************
        // Send Amplitude LevelUp event
        if (newLevel > oldLevel && newLevel % 5 == 0)
        {
            AmplitudeHelper.Instance.LogEvent("lvl " + newLevel + " reached");
        }

        //**************************************************************
        //Send Amplitude StageEnd event

        customProperties = new Dictionary <string, object>()
        {
            { "Environment", EnvironmentName },
            { "Stage Score", SessionScore },
            { "Altitude", player.HighestAltitude },
            { "Character", CharacterName },
            { "Last Chunk", player.CurrentChunkName }
        };

        AmplitudeHelper.Instance.LogEvent("Stage End", customProperties);

        //**************************************************************
        //Load Menu scene
        SceneManager.LoadSceneAsync("Scenes/Menu");
    }