Exemple #1
0
    public void LaserHit(LaserEmittingObject other, RaycastHit hit)
    {
        Vector3 OutDir = Vector3.Reflect((transform.position - other.transform.position).normalized, transform.forward.normalized);

        LaserManager.ManagedLaser Laser = LaserManager.RequestLaser();
        Laser.laser.position = hit.point + LaserOffest;
        Laser.laser.rotation = Quaternion.LookRotation(OutDir, transform.up);
        Laser.Active         = true;
        Ray beam = new Ray(hit.point, OutDir);

        Debug.DrawRay(beam.origin, beam.direction * 100, Color.blue);
        if (Physics.Raycast(beam, out hit, Mathf.Infinity, LayerMask.GetMask("Emitter", "Level", "Receiver", "Mirror")))
        {
            Laser.laser.localScale = new Vector3(1, 1, Vector3.Distance(beam.origin, hit.point));
            ILaserableObject laserableObject = hit.collider.gameObject.GetComponent <ILaserableObject>();
            if (laserableObject != null)
            {
                Debug.Log("Hit laserable object: " + hit.transform.name);
                Debug.DrawLine(beam.origin, hit.point, Color.green);
                laserableObject.LaserHit(this, hit);
            }
            else
            {
                Debug.Log("Hit non-laserable object: " + hit.transform.name);
            }
        }
        else
        {
            Laser.laser.localScale = new Vector3(1, 1, 100);
            Debug.Log("No Hit");
        }
    }
Exemple #2
0
    //private bool laserActive = false;

    #endregion Variables

    #region Methods
    /// <summary>
    /// Called to fire the initial laser
    /// </summary>
    internal void Fire()
    {
        LaserManager.ManagedLaser Laser = LaserManager.RequestLaser();
        Ray        beam = new Ray(transform.position, transform.forward);
        RaycastHit hit;

        Laser.laser.position = beam.origin + LaserOffest;
        Laser.laser.rotation = Quaternion.LookRotation(beam.direction);
        Laser.Active         = true;
        if (Physics.Raycast(beam, out hit, Mathf.Infinity, LayerMask.GetMask("Emitter", "Level", "Receiver", "Mirror")))
        {
            Laser.laser.localScale = new Vector3(1, 1, Vector3.Distance(beam.origin, hit.point));
            ILaserableObject laserableObject = hit.collider.gameObject.GetComponent <ILaserableObject>();
            if (laserableObject != null)
            {
                Debug.Log("Hit laserable object: " + hit.transform.name);
                laserableObject.LaserHit(this, hit);
            }
            else
            {
                Debug.Log("Hit non-laserable object: " + hit.transform.name);
            }
        }
        else
        {
            Laser.laser.localScale = new Vector3(1, 1, 100);
        }
    }
Exemple #3
0
 void Start()
 {
     selectUI     = transform.Find("SelectUI").gameObject;
     laserManager = GetComponent <LaserManager>();
     state        = State.Idle;
     isStageEnd   = false;
 }
Exemple #4
0
    private void FindObjects()
    {
        Transform child;

        for (int i = 0; i < transform.childCount; i++)
        {
            child = transform.GetChild(i);
            switch (child.name)
            {
            case "LaserContainer":
                _laserManager = child.gameObject.GetComponent <LaserManager>();
                break;

            case "EnemyContainer":
                _enemyManager = child.gameObject.GetComponent <EnemyManager>();
                break;

            case "PUContainer":
                _powerUpManager = child.gameObject.GetComponent <PU_Manager>();
                break;

            case "ObjectContainer":
                _objectManager = child.gameObject.GetComponent <ObjectManager>();
                break;

            default:
                Debug.LogWarning("There is an unrecognized child of Spawn Manager.");
                break;
            }
        }
        _audio_Background = GetComponent <AudioSource>();

        CheckObjects();
    }
Exemple #5
0
    // Awake is called when the script instance is being loaded
    protected void Awake()
    {
        GameObject controller = GameObject.FindGameObjectWithTag("GameController");

        LaserManager   = controller.GetComponent <LaserManager>();
        GameController = controller.GetComponent <GameController>();
        AudioSource    = GetComponent <AudioSource>();
    }
Exemple #6
0
    public void Load()
    {
        //guides[countGuide].Load(firePos);
        LaserManager lm = GameManager.Instance.laserManager;

        guide = lm.GetGuide();
        guide.Load(firePos);
    }
    void Awake()
    {
        _rigidbody    = GetComponent <Rigidbody2D>();
        _laserManager = GetComponent <LaserManager>();
        _renderer     = GetComponent <MeshRenderer>();

        Died = new SmartEvent(this);
    }
Exemple #8
0
 void Start()
 {
     selectLauncherUI = transform.Find("SelectLauncherUI").gameObject;
     selectItemUI     = transform.Find("SelectItemUI").gameObject;
     laserManager     = GetComponent <LaserManager>();
     scoreManager     = GetComponent <ScoreManager>();
     state            = State.Idle;
     isStageEnd       = false;
 }
    void Awake()
    {
        redSheeps    = GameObject.Find("RedSheeps");
        blueSheeps   = GameObject.Find("BlueSheeps");
        activeLasers = GameObject.Find("ActiveLasers");

        redSheepsScript    = redSheeps.GetComponent <SheepManager> ();
        blueSheepsScript   = blueSheeps.GetComponent <SheepManager> ();
        activeLasersScript = activeLasers.GetComponent <LaserManager> ();
    }
    void Awake()
    {
        redSheeps = GameObject.Find ("RedSheeps");
        blueSheeps = GameObject.Find ("BlueSheeps");
        activeLasers = GameObject.Find ("ActiveLasers");

        redSheepsScript = redSheeps.GetComponent<SheepManager> ();
        blueSheepsScript = blueSheeps.GetComponent<SheepManager> ();
        activeLasersScript = activeLasers.GetComponent<LaserManager> ();
    }
Exemple #11
0
 public void SetLaserContainer(LaserManager laserManager)
 {
     if (laserManager == null)
     {
         Debug.LogAssertion("Player was handled an empty Laser Manager.");
     }
     else
     {
         _laserManager = laserManager;
     }
 }
Exemple #12
0
    private void Awake()
    {
        if (Instance != null)
        {
            Destroy(Instance.gameObject);
        }

        Instance  = this;
        emitters  = new List <ILaserEmitter>();
        receivers = new List <ILaserReceiver>();
    }
Exemple #13
0
        public void LoadContentEnemigoVigilante(ContentManager content, GraphicsDeviceManager graphics)
        {
            enemySpaceship2 = content.Load <Model>(enemyShipModel2);

            var spaceShipEffect3 = (BasicEffect)enemySpaceship2.Meshes[0].Effects[0];

            spaceShipEffect3.TextureEnabled = true;
            spaceShipEffect3.Texture        = content.Load <Texture2D>(enemyTexture2);

            _laserManager = new LaserManager();
            _laserManager.LoadContent("Textures/Lasers/red-laser", "Effects/Trench", content, graphics);
        }
Exemple #14
0
    //Singletoncode
    private void Awake()
    {
        if (Instance != null)
        {
            DestroyImmediate(Instance); // es kann passieren wenn wir eine neue Scene laden dass immer noch eine Instanz existiert
        }
        else
        {
            Instance = this;
        }

        lasers = new HashSet <Laser>();
        nextLaserUpdateTime = Time.time + updateInterval;
    }
Exemple #15
0
    void Awake()
    {
        levMan = GameObject.Find("LevelManager").GetComponent <LevelManager>();
        cMan   = GameObject.Find("CanvasManager").GetComponent <CanvasManager> ();
        pMove  = GameObject.FindWithTag("Player").GetComponent <PlayerMove> ();
        lasMan = GameObject.Find("LaserParent").GetComponent <LaserManager> ();

        //Choose which puzzle is attached to the Display Case
        lockInt = Random.Range(0, 1);          //Add a higher range as I add more lock puzzles
        if (lockInt == 0)
        {
            lockChoice = whichLock.rotaryDial;
        }
    }
Exemple #16
0
    public IEnumerator ResolveCards(GameObject[] displaySheep, GameObject boardHolder)
    {
        activeLasersScript = boardHolder.transform.GetChild(0).GetComponent <LaserManager>();

        // For each played action resolve sheep movement, fire lasers, then move to next player colour
        for (int i = 0; i < 4; i++)
        {
            Destroy(displaySheep[i]);

            yield return(StartCoroutine(cardSlots[i].GetComponent <SlotController>().ResolveSlot()));

            yield return(StartCoroutine(activeLasersScript.FireLasers()));
        }
    }
Exemple #17
0
    // Start is called before the first frame update
    void Start()
    {
        laserManager = GetComponent <LaserManager>();
        rig          = GetComponent <Rigidbody2D>();
        audioManager = AudioManager.instance;
        audioManager.Play("Thump", 0.75f, 1.5f);

        //Changes (mirrors) the direction the laser moves
        if (isMirror)
        {
            startPosition  = new Vector3(-startPosition.x, startPosition.y, startPosition.z);
            targetPosition = new Vector3(-targetPosition.x, targetPosition.y, targetPosition.z);
        }

        StartCoroutine(FireSequence());
    }
Exemple #18
0
        protected override void Initialize()
        {
            player = new Player();
            float     xPos            = GraphicsDevice.Viewport.TitleSafeArea.X;
            float     yPos            = GraphicsDevice.Viewport.TitleSafeArea.Y + GraphicsDevice.Viewport.TitleSafeArea.Height / 2;
            Vector2   playerPos       = new Vector2(xPos, yPos);
            Animation playerAnimation = new Animation();
            Texture2D playerTexture   = Content.Load <Texture2D>("Graphics\\shipAnimation");

            playerAnimation.Initialize(
                playerTexture,
                Vector2.Zero,
                115,
                69,
                8,
                60,
                Color.White,
                scale,
                true);
            Vector2 playerPosition = new Vector2(
                GraphicsDevice.Viewport.TitleSafeArea.X,
                GraphicsDevice.Viewport.TitleSafeArea.Y + GraphicsDevice.Viewport.TitleSafeArea.Height / 2);

            player.Initialize(playerAnimation, playerPosition);
            playerMoveSpeed = 8.0f;

            lasers = new LaserManager();
            Texture2D laserTexture = Content.Load <Texture2D>("Graphics\\laser");

            lasers.Initialise(laserTexture, GraphicsDevice.Viewport.TitleSafeArea.Width);

            ExplosionAnimations = new List <Animation>();
            ExplosionTexture    = Content.Load <Texture2D>("Graphics\\explosion");

            enemies        = new List <Enemy>();
            bgLayer1       = new ParallaxingBackground();
            bgLayer2       = new ParallaxingBackground();
            rectBackground = new Rectangle(0, 0, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height);
            scoreFont      = Content.Load <SpriteFont>("Graphics\\Score");
            messageFont    = Content.Load <SpriteFont>("Graphics\\Message");
            state          = GameState.PAUSED;
            Reset();
            base.Initialize();
        }
Exemple #19
0
 private void Awake()
 {
     _instance = this;
     if (player == null)
     {
         player = FindObjectOfType <Player>();
     }
     if (joyStick == null)
     {
         joyStick = FindObjectOfType <JoyStickController>();
     }
     if (laserManager == null)
     {
         laserManager = GetComponent <LaserManager>();
     }
     if (uiManager == null)
     {
         uiManager = GetComponent <UiManager>();
     }
 }
Exemple #20
0
    public void Init()
    {
        controller   = GetComponent <Boss3_Controller>();
        laserManager = GetComponent <LaserManager>();
        lookAtTarget = GetComponentInChildren <LookAtTarget>();
        animator     = GetComponent <Animator>();
        audioManager = controller.audioManager;
        player       = controller.player;

        lookAtTarget.target = player.transform;

        stLaser = new StandardLaser(laserRef);

        SetSpreadShotSubtraction(spreadShotSubtraction);

        //actionList.Add("Idle");
        actionList.Add("ShootPlayer");
        //actionList.Add("Retaliate");
        actionList.Add("RockLaserAttack");
        actionList.Add("DesperationAttack");
    }
        private void UpdateDrillShaftSate()
        {
            if (IsOperational())
            {
                LaserManager.ChangeLasersState();

                if (IsUnderWater())
                {
                    LaserManager.ChangeBubblesState();
                }

                AnimationHandler.DrillState(true);
                AudioManager.PlayAudio();
            }
            else
            {
                LaserManager.ChangeLasersState(false);
                LaserManager.ChangeBubblesState(false);
                AnimationHandler.DrillState(false);
                AudioManager.StopAudio();
            }
        }
Exemple #22
0
        /// <summary>
        ///     Se llama una sola vez, al principio cuando se ejecuta el ejemplo.
        ///     Escribir aquí todo el código de inicialización: todo procesamiento que podemos pre calcular para nuestro juego.
        /// </summary>
        protected override void Initialize()
        {
            // World = Matrix.CreateTranslation(new Vector3(0, 0, 0));
            View       = Matrix.CreateLookAt(new Vector3(0, 0, 20), Vector3.Zero, Vector3.Up);
            Projection = Matrix.CreatePerspectiveFieldOfView(MathHelper.ToRadians(45), 800f / 600f, 0.1f, 1000f);


            //World = Matrix.Identity;
            //View = Matrix.CreateLookAt(Vector3.UnitZ * 150, Vector3.Zero, Vector3.Up);
            //Projection =
            //    Matrix.CreatePerspectiveFieldOfView(MathHelper.PiOver4, GraphicsDevice.Viewport.AspectRatio, 1, 500);

            centerPosition = new Vector3(0, 0, 0);

            Graphics.PreferredBackBufferWidth  = 1024;
            Graphics.PreferredBackBufferHeight = 768;
            Graphics.ApplyChanges();

            EM = new enemyManager();
            for (int i = 0; i < 10; i++)
            {
                EM.CrearEnemigo();
            }
            EM.CrearEnemigoVigilante(_spaceshipPosition);

            _trench       = new Trench();
            _laserManager = new LaserManager();

            finalBossPosition = new Vector3(4f, 1f, -43f);

            State = GameState.Playing;

            TargetLightCamera = new TargetCamera(1f, LightPosition, Vector3.Zero);
            TargetLightCamera.BuildProjection(1f, LightCameraNearPlaneDistance, LightCameraFarPlaneDistance,
                                              MathHelper.PiOver2);

            base.Initialize();
        }
Exemple #23
0
    private void Start()
    {
        Transform laserContainer = transform.parent;

        if (laserContainer == null)
        {
            Debug.LogError("Laser could not locate its parent.");
            _isChildOfManager = false;
        }
        else
        {
            _laserManager = laserContainer.GetComponent <LaserManager>();
            if (_laserManager == null)
            {
                Debug.LogError("Laser could not locate its Manager on the parent.");
                _isChildOfManager = false;
            }
        }

        if (_velocity <= 0)
        {
            Debug.LogAssertion("Laser speed is equal to or less than 0.");
        }
    }
Exemple #24
0
    void Awake()
    {
        hits = new RaycastHit2D[hitsCount];

        instance = this;
    }
 public override int HandleState(List <GamePlayer> players, SpawnManager spawnManager, LaserManager laserManager, Spawn spawn, Laser laser)
 {
     players.ToList().FirstOrDefault(p => p.Name == laser.Player).LaserStrength = 1;
     spawnManager.DestroySpawn(spawn.Id);
     laserManager.DestroyLaser(laser.Id);
     return(-1);
 }
Exemple #26
0
    public IEnumerator ResolveCards(GameObject[] displaySheep, GameObject boardHolder)
    {
        activeLasersScript = boardHolder.transform.GetChild (0).GetComponent<LaserManager>();

        // For each played action resolve sheep movement, fire lasers, then move to next player colour
        for (int i = 0; i < 4; i++) {

            Destroy (displaySheep[i]);

            yield return StartCoroutine(cardSlots[i].GetComponent<SlotController>().ResolveSlot());

            yield return StartCoroutine(activeLasersScript.FireLasers());
        }
    }
Exemple #27
0
 public abstract int HandleState(List <GamePlayer> players, SpawnManager spawnManager, LaserManager laserManager, Spawn spawn, Laser laser);
Exemple #28
0
 public override int HandleState(List <GamePlayer> players, SpawnManager spawnManager, LaserManager laserManager, Spawn spawn, Laser laser)
 {
     return(0);
 }
Exemple #29
0
 void Awake()
 {
     laserManagerRef = this;
 }
Exemple #30
0
 public override int HandleState(List <GamePlayer> players, SpawnManager spawnManager, LaserManager laserManager, Spawn spawn, Laser laser)
 {
     if (laser.Strength >= spawn.Toughness)
     {
         players.ToList().FirstOrDefault(p => p.Name == laser.Player).LaserStrength -= spawn.Toughness;
         if (players.ToList().FirstOrDefault(p => p.Name == laser.Player).LaserStrength < 1)
         {
             players.ToList().FirstOrDefault(p => p.Name == laser.Player).LaserStrength = 1;
         }
         if (spawn.subordinates != null)
         {
             players.ToList().FirstOrDefault(p => p.Name == laser.Player).Score += spawn.subordinates.Count;
         }
         spawnManager.DestroySpawn(spawn.Id);
         laserManager.DestroyLaser(laser.Id);
         players.ToList().FirstOrDefault(p => p.Name == laser.Player).Score += spawn.Toughness;
     }
     else
     {
         players.ToList().FirstOrDefault(p => p.Name == laser.Player).LaserStrength = 1;
         spawn.Toughness -= 1;
         laserManager.DestroyLaser(laser.Id);
         players.ToList().FirstOrDefault(p => p.Name == laser.Player).Score += 1;
     }
     return(0);
 }
Exemple #31
0
 public void Initialize(LaserManager manager)
 {
     _manager = manager;
     GetComponent <MeshFilter>().mesh = manager.LaserMesh;
 }
Exemple #32
0
 private void Awake()
 {
     Instance = this;
 }
Exemple #33
0
    private void FindObjects()
    {
        _collider = GetComponent <Collider2D>();
        if (_collider == null)
        {
            Debug.LogError("Enemy could not locate its collider.");
        }
        _anim_Destruction = GetComponent <Animator>();
        if (_anim_Destruction == null)
        {
            Debug.LogError("Enemy could not locate its animator.");
        }
        else
        {
            _anim_ID_IsEnemyDead = Animator.StringToHash("isEnemyDead");
            _anim_Length         = _anim_Destruction.runtimeAnimatorController.animationClips[0].length / 1.75f;
            if (_anim_ID_IsEnemyDead == 0)
            {
                Debug.LogError("Enemy could not locate isEnemyDead parameter of the Animator.");
            }
        }

        Transform parent = transform.parent;

        if (parent == null)
        {
            Debug.LogError("Enemy could not locate its parent.");
            _isChildOfManager = false;
        }
        else
        {
            _enemyManager      = parent.GetComponent <EnemyManager>();
            _audio_Destruction = parent.GetComponent <AudioSource>();
            if (_enemyManager == null)
            {
                Debug.LogError("Enemy could not locate its Manager on the parent.");
                _isChildOfManager = false;
            }
            if (_audio_Destruction == null)
            {
                Debug.LogError("Enemy could not locate destruction audio in Enemy Container.");
            }
        }

        parent = parent.parent;
        if (parent == null)
        {
            Debug.LogError("Enemy could not locate its paret.parent.");
        }
        else
        {
            SpawnManager spawnManager = parent.GetComponent <SpawnManager>();
            if (spawnManager == null)
            {
                Debug.LogError("Enemy could not locate Spawn Manager on its parent.parent.");
            }
            else
            {
                _laserManager = spawnManager.LaserContainer();
                if (_laserManager == null)
                {
                    Debug.LogAssertion("Enemy received invalid Laser Manager reference from Spawn Manager.");
                }
            }
        }
    }