Inheritance: MonoBehaviour
Beispiel #1
0
        public virtual void OnCollideWithShield(CharacterShield shield)
        {
            if (shield.Owner == Caster && Distance < 10)
            {
                return;
            }
            var effectDirection = transform.rotation * Vector3.forward;
            var shieldDirection = shield.transform.rotation * Vector3.forward;
            var reflect         = Vector3.Reflect(effectDirection, shieldDirection);

            transform.rotation = Quaternion.FromToRotation(effectDirection, reflect);
        }
Beispiel #2
0
 private void OnCollisionEnter(Collision collision)
 {
     if (collision.collider.gameObject.tag == "Asteroid")
     {
         // Make parent object (main) be pushed.
         // Main obj
         GameObject mainChar = _parentCharacter.GetComponent <WarpClone>().GetMainObject();
         // Now get the shield script.
         CharacterShield cs = mainChar.GetComponentInChildren <CharacterShield>();
         // Apply asteroid collision on main ship object.
         cs.OnAsteroidCollision(collision, gameObject);
     }
 }
Beispiel #3
0
 private void GetStats()
 {
     if (playerHandler != null)
     {
         if (playerHandler.kartInstance != null)
         {
             shield = playerHandler.kartInstance.GetComponent<CharacterShield>();
             health = playerHandler.kartInstance.GetComponent<CharacterHealth>();
             ammo = playerHandler.kartInstance.GetComponent<CharacterAmmo>();
         }
         killsText.text = "K : " + playerHandler.kills;
         deathsText.text = "D : " + playerHandler.deaths;
     }
     else
         LookForPlayerHandler();
 }
Beispiel #4
0
 private void GetStats()
 {
     if (playerHandler != null)
     {
         if (playerHandler.kartInstance != null)
         {
             shield = playerHandler.kartInstance.GetComponent <CharacterShield>();
             health = playerHandler.kartInstance.GetComponent <CharacterHealth>();
             ammo   = playerHandler.kartInstance.GetComponent <CharacterAmmo>();
         }
         killsText.text  = "K : " + playerHandler.kills;
         deathsText.text = "D : " + playerHandler.deaths;
     }
     else
     {
         LookForPlayerHandler();
     }
 }
Beispiel #5
0
        public void Setup()
        {
            // Get references to the components.
            Movement           = Instance.GetComponent <CharacterMovement>();
            Shooting           = Instance.GetComponent <CharacterShooting>();
            Health             = Instance.GetComponent <CharacterHealth>();
            CharacterBehaviour = Instance.GetComponent <CharacterBehaviour>();
            CharacterShield    = Instance.GetComponent <CharacterShield>();
            CharacterSetup     = Instance.GetComponent <CharacterSetup>();

            Movement.OnDestroyOject += () =>
            {
                Instance           = null;
                Movement           = null;
                Shooting           = null;
                Health             = null;
                CharacterBehaviour = null;
                CharacterShield    = null;
                CharacterSetup     = null;
                GameManager.Characters.Remove(this);
            };

            // Get references to the child objects.
            CharacterRenderers = Health.CharacterRenderers;

            //Set a reference to that amanger in the health script, to disable control when dying
            Health.Manager = this;

            // Set the player numbers to be consistent across the scripts.
            Movement.PlayerNumber = PlayerNumber;
            Movement.LocalID      = LocalPlayerID;

            Shooting.PlayerNumber = PlayerNumber;
            Shooting.localID      = LocalPlayerID;

            //setup is use for diverse Network Related sync
            CharacterSetup.Color        = PlayerColor;
            CharacterSetup.PlayerName   = PlayerName;
            CharacterSetup.PlayerNumber = PlayerNumber;
            CharacterSetup.LocalId      = LocalPlayerID;

            CharacterShield.PlayerNumber = PlayerNumber;
            CharacterShield._character   = CharacterBehaviour;
        }
Beispiel #6
0
 protected void Start()
 {
     _shield = GetComponent <CharacterShield>();
     _shield.SetShieldAvailable(true);
 }