示例#1
0
    void Update()
    {
        // 2 - Check if the enemy has spawned.
        if (hasSpawn == false)
        {
            if (rendererComponent.IsVisibleFrom(Camera.main))
            {
                Spawn();
            }
        }
        else
        {
            if (!FreezeTimeScript.GetFrozen())
            {
                // Auto-fire
                foreach (WeaponScript weapon in weapons)
                {
                    if (weapon != null && weapon.enabled && weapon.CanAttack)
                    {
                        weapon.Attack(true);
                        SoundEffectsHelper.Instance.MakeEnemyShotSound();
                    }
                }
            }

            // 4 - Out of the camera ? Destroy the game object.
            if (rendererComponent.IsVisibleFrom(Camera.main) == false)
            {
                Destroy(gameObject);
            }
        }
    }
示例#2
0
 // Update is called once per frame
 void Update()
 {
     if (SpawnerScript.GetSingleton().GetGameOver())
     {
         if (ownLaser != null)
         {
             Destroy(ownLaser);
         }
         Destroy(gameObject);
         return;
     }
     if (!FreezeTimeScript.GetFrozen())
     {
         if (life == 100)
         {
             ownLaser = Instantiate(laser, gameObject.transform.position + new Vector3(-15, 0, 0),
                                    Quaternion.identity) as GameObject;
             life--;
         }
         else if (life < 0)
         {
             Destroy(gameObject);
         }
         else
         {
             life--;
         }
     }
 }
示例#3
0
    void Update()
    {
        // 3 - Retrieve axis information
        float inputX = Input.GetAxis("Horizontal");
        float inputY = Input.GetAxis("Vertical");

        // 4 - Movement per direction
        movement = new Vector2(
            speed.x * inputX,
            speed.y * inputY);

        // 5 - Shooting
        bool shoot = Input.GetKeyDown("space");

        // Careful: For Mac users, ctrl + arrow is a bad idea

        if (shoot)
        {
            WeaponScript weapon = GetComponent <WeaponScript>();
            if (weapon != null)
            {
                // false because the player is not an enemy
                weapon.Attack(false);
                SoundEffectsHelper.Instance.MakePlayerShotSound();
            }
        }

        if (Input.GetKeyDown(KeyCode.F))
        {
            FreezeTimeScript.FreezeTime();
        }

        // 6 - Make sure we are not outside the camera bounds
        var dist = (transform.position - Camera.main.transform.position).z;

        var leftBorder = Camera.main.ViewportToWorldPoint(
            new Vector3(0, 0, dist)
            ).x;

        var rightBorder = Camera.main.ViewportToWorldPoint(
            new Vector3(1, 0, dist)
            ).x;

        var topBorder = Camera.main.ViewportToWorldPoint(
            new Vector3(0, 0, dist)
            ).y;

        var bottomBorder = Camera.main.ViewportToWorldPoint(
            new Vector3(0, 1, dist)
            ).y;

        transform.position = new Vector3(
            Mathf.Clamp(transform.position.x, leftBorder, rightBorder),
            Mathf.Clamp(transform.position.y, topBorder, bottomBorder),
            transform.position.z
            );
    }
示例#4
0
 void Awake()
 {
     Application.targetFrameRate = 50;
     frozen = false;
     // Disable them
     initial    = gameObject;
     instance   = this;
     freezeTime = 500;
     HideAll();
 }
示例#5
0
 void Update()
 {
     if (life < 0)
     {
         Destroy(gameObject);
     }
     if (!FreezeTimeScript.GetFrozen())
     {
         life--;
     }
 }
示例#6
0
 void Update()
 {
     if (FreezeTimeScript.GetFrozen() && !shouldMove)
     {
         // 2 - Movement
         movement = new Vector2(0, 0);
     }
     else
     {
         // 2 - Movement
         movement = new Vector2(
             speed.x * direction.x,
             speed.y * direction.y);
     }
 }
示例#7
0
 // Use this for initialization
 void Start()
 {
     m_TimeLeft.text = FreezeTimeScript.GetTimeLeft() + "";
 }
示例#8
0
 // Update is called once per frame
 void Update()
 {
     m_TimeLeft.text = FreezeTimeScript.GetTimeLeft() + "";
 }