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"); } }
//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); } }
void Start() { selectUI = transform.Find("SelectUI").gameObject; laserManager = GetComponent <LaserManager>(); state = State.Idle; isStageEnd = false; }
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(); }
// 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>(); }
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); }
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> (); }
public void SetLaserContainer(LaserManager laserManager) { if (laserManager == null) { Debug.LogAssertion("Player was handled an empty Laser Manager."); } else { _laserManager = laserManager; } }
private void Awake() { if (Instance != null) { Destroy(Instance.gameObject); } Instance = this; emitters = new List <ILaserEmitter>(); receivers = new List <ILaserReceiver>(); }
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); }
//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; }
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; } }
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())); } }
// 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()); }
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(); }
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>(); } }
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(); } }
/// <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(); }
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."); } }
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); }
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()); } }
public abstract int HandleState(List <GamePlayer> players, SpawnManager spawnManager, LaserManager laserManager, Spawn spawn, Laser laser);
public override int HandleState(List <GamePlayer> players, SpawnManager spawnManager, LaserManager laserManager, Spawn spawn, Laser laser) { return(0); }
void Awake() { laserManagerRef = this; }
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); }
public void Initialize(LaserManager manager) { _manager = manager; GetComponent <MeshFilter>().mesh = manager.LaserMesh; }
private void Awake() { Instance = this; }
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."); } } } }