Example #1
0
    void OnTriggerEnter(Collider other)
    {
//		print (other.tag);
        if (other.CompareTag("Player"))
        {
            PlayerTeamInfo teamInfo = other.gameObject.GetComponent <PlayerTeamInfo> ();
            int            playerTeamNumber;
            if (teamInfo.GetTeam() == "a")
            {
                playerTeamNumber = 1;
            }
            else
            {
                playerTeamNumber = 2;
            }
            if (playerTeamNumber == teamNumber)
            {
                // give points to team
                // FIXME: add points that the player holds


                //if (other.gameObject.GetComponent<PlayerPointManager> ().GetPlayerPoints() > 0) {
                //	gemsRemaining += other.gameObject.GetComponent<PlayerPointManager> ().GetPlayerPoints();
                //	other.gameObject.GetComponent<PlayerPointManager> ().RemovePlayerPoints ();
                //}

                if (other.gameObject.GetComponent <PlayerInventory>().HasGem())
                {
                    gemsRemaining += 1;
                    other.gameObject.GetComponent <PlayerInventory>().SetGem(false);
                }
            }
            else
            {
                // FIXME: give points to player inventory, i.e., player is at enemy chest
                //if (other.gameObject.GetComponent<PlayerPointManager>().GetPlayerPoints() == 0) {
                //    if (gemsRemaining > 0) {
                //        gemsRemaining -= 1;
                //        other.gameObject.GetComponent<PlayerPointManager>().GivePlayerPoints(pointsPerGrab);
                //    }
                //}

                if (!other.gameObject.GetComponent <PlayerInventory>().HasGem())
                {
                    if (gemsRemaining > 0)
                    {
                        gemsRemaining -= 1;
                        other.gameObject.GetComponent <PlayerInventory>().SetGem(true);
                    }
                }
            }
        }
    }
    void OnTriggerEnter(Collider other)
    {
        if (!isInvincible)
        {
            bool hitByWeapon = false;

            //sword damage
            if (other.gameObject.tag == "Sword")
            {
                hitByWeapon = true;
                if (other.transform.parent.parent.gameObject.GetComponent <PlayerTeamInfo>().GetTeam() != playerTeamInfo.GetTeam())
                {
                    if (GetComponent <PlayerSteeringMode>().GetSteeringMode())
                    {
                        if (!pushBack)
                        {
                            StartCoroutine(PushBackTime());
                            GiveUpShipOnHit(other.transform.parent.gameObject.GetComponent <Sword>().GetPlayerForward());
                        }
                    }
                    else
                    {
                        if (!pushBack)
                        {
                            StartCoroutine(PushBackTime());
                            StartCoroutine(StopMovement(other.transform.parent.gameObject.GetComponent <Sword>().GetPlayerForward()));
                        }
                    }
                }
            }

            if (hitByWeapon)
            {
                // Get the weapon's Joe
                attacker       = other.transform.parent.parent.gameObject;
                nameOfAttacker = attacker.name;
                timeOfAttack   = Time.time;

                PlayerDamageHandler damageHandler = this.GetComponent <PlayerDamageHandler> ();
                damageHandler.attacker     = attacker;
                damageHandler.timeOfAttack = timeOfAttack;
            }
        }
    }