IEnumerator chargeAndFire(ShipAi enermyAI, ShipSpawner cl) { AttackHandeler ah = enermyAI.GetComponent <AttackHandeler>(); ah.ChargeUp(); for (int i = 0; i < FixedUpdateFramesChargedFor; i++) { yield return(new WaitForFixedUpdate()); if (enermyAI == null || ah == null || ah.spawnPoint == null) { yield break; } var hit = Physics2D.Raycast(ah.spawnPoint.transform.position, enermyAI.transform.up, 10); Debug.DrawRay(ah.spawnPoint.transform.position, enermyAI.transform.up * 10); if (hit) { Debug.Log("hit", hit.transform); Debug.Log("by", enermyAI.transform); var other_team = hit.transform.GetComponent <TeamHandeler>(); var my_team = enermyAI.GetComponent <TeamHandeler>(); if (!my_team.Equals(other_team)) { if (ah.charged) { ah.Fire(); } } } } ah.Discharge(); }
private void Awake() { if (instance == null) { instance = this; } }
private void Start() { instance = this; EntityManager manager = World.Active.EntityManager; Entity shipEntity = CreateShipEntity(manager); SetShipEntitySettings(shipEntity, manager); }
/* * assign variables and adds a listener to the console to detect input */ void Start() { textField = gameObject.GetComponent <InputField> (); logbox = GameObject.Find("Log"); logtext = logbox.GetComponent <Text> (); spawner = GameObject.Find("GameLogic") .GetComponent <ShipSpawner>(); var submit = new InputField.SubmitEvent(); submit.AddListener(textSubmit); textField.onEndEdit = submit; }
public void playGameTick() { Dock.unloadCart(); foreach (var item in GameObjects) { item.move(); } if (random.Next(1, 5) == 1) { generateCart(); } if (random.Next(1, 20) == 1) { GameObjects.Add(ShipSpawner.generateShip()); } }
public GameObject Spawn(RandomInitable seed, int Decisions, Vector3 pos, ShipSpawner Controler) { // RandomInitable r = seed; GameObject newEnermy = Instantiate(Actor, Controler.transform); var tmp_R = seed; newEnermy.name = string.Format("{0} id = {1}", name, tmp_R.seed); newEnermy.transform.position = pos; var ai = newEnermy.GetComponent <ShipAi>(); ai.R = tmp_R; for (int i = 0; i < Decisions; i++) { ai.addDecision(ai.R.Pick(options)); } ai.decisionLoop.StartLoop(); var repr = Instantiate(Representaion, newEnermy.transform); repr.name = repr.name.Replace("(Clone)", ""); var teemh = newEnermy.GetComponent <TeamHandeler>(); teemh.team = this.team; var parts = repr.GetComponentsInChildren <ShipTextureCreator>(); foreach (var a in parts) { var repr_seed = ai.R.valueInt; a.setSeed(repr_seed); } ai.controler = Controler; ai.ScoreValue = ScoreValue; var destroyer = newEnermy.GetComponent <DestroyOnAnimationExit>(); destroyer.animationIndex = ai.R.Pick(explosions); var dropHandeler = newEnermy.GetComponent <DropHandeler>(); var item = ai.R.Pick(items); if (item.chalange.getCr() >= ai.R.value) { var a = ai.R.Pick(items); dropHandeler._drop = a; } return(newEnermy); }
public void TryingSpawningCollidingShips_Fails() { int shipsLength = 4; int[] shipsStartingCoordinates = { 0, 9 }; Mock <IField>[] fields = new Mock <IField> [4]; for (int i = 0; i < fields.Length; i++) { fields[i] = new Mock <IField>(); } var battlefield = new Mock <IBattlefield>(); for (int i = 0; i < fields.Length; i++) { battlefield.Setup(x => x.GetField(shipsStartingCoordinates[0] + i, shipsStartingCoordinates[1])) .Returns(fields[i].Object); } var mockRandom = new Mock <Random>(); mockRandom.Setup(x => x.Next(2)).Returns(1); mockRandom.Setup(x => x.Next(9 - shipsLength + 2)).Returns(shipsStartingCoordinates[0]); mockRandom.Setup(x => x.Next(10)).Returns(shipsStartingCoordinates[1]); var ship = new Mock <IShip>(); ship.Setup(x => x.Length).Returns(shipsLength); var shipSpawner = new ShipSpawner(battlefield.Object, mockRandom.Object); shipSpawner.SpawnShip(ship.Object); int[] nextShipsStartingCoordinates = { 3, 6 }; int nextShipsLength = shipsLength; mockRandom.Setup(x => x.Next(2)).Returns(0); mockRandom.Setup(x => x.Next(10)).Returns(nextShipsStartingCoordinates[0]); mockRandom.Setup(x => x.Next(9 - nextShipsLength + 2)).Returns(nextShipsStartingCoordinates[1]); Assert.False(shipSpawner.SpawnShip(ship.Object)); }
public void GenerateMissionInZone() { Reset(); var zone = GetRandomZone(); if (zone == null) { return; } var mission = new GameObject("PLAYERMISSION"); mission.AddComponent <TargetingInfo>().Init("MISSION", null, false); currentMission = mission; currentSpawner = zone; currentSpawner.Triggered += HandleSpawnTriggered; }
internal override void go(ShipAi enermyAI, ShipSpawner cl) { if (cl) { Camera cam = cl.cam; var bottomLeft = cam.ScreenToWorldPoint(Vector3.zero); var topRight = cam.ScreenToWorldPoint(new Vector3( cam.pixelWidth, cam.pixelHeight)); var cameraRect = new Rect( bottomLeft.x, bottomLeft.y, topRight.x - bottomLeft.x, topRight.y - bottomLeft.y); if (cameraRect.Contains(enermyAI.transform.position)) { enermyAI.StartCoroutine(chargeAndFire(enermyAI, cl)); } } }
public void TryingSpawningTwoShipsAtExactlySameLocation_Fails() { int shipsLength = 5; int[] shipsStartingCoordinates = { 4, 1 }; Mock <IField>[] fields = new Mock <IField> [5]; for (int i = 0; i < fields.Length; i++) { fields[i] = new Mock <IField>(); } var battlefield = new Mock <IBattlefield>(); for (int i = 0; i < fields.Length; i++) { battlefield.Setup(x => x.GetField(shipsStartingCoordinates[0], shipsStartingCoordinates[1] + i)) .Returns(fields[i].Object); } var mockRandom = new Mock <Random>(); mockRandom.Setup(x => x.Next(2)).Returns(0); mockRandom.Setup(x => x.Next(10)).Returns(shipsStartingCoordinates[0]); mockRandom.Setup(x => x.Next(9 - shipsLength + 2)).Returns(shipsStartingCoordinates[1]); var ship = new Mock <IShip>(); ship.Setup(x => x.Length).Returns(shipsLength); var shipSpawner = new ShipSpawner(battlefield.Object, mockRandom.Object); Assert.True(shipSpawner.SpawnShip(ship.Object)); foreach (var field in fields) { field.Verify(x => x.PlaceShip(ship.Object), Times.Once()); } Assert.False(shipSpawner.SpawnShip(ship.Object)); }
public void AfterSpawningVerticalShip_CorrectFieldsHaveShipPlacedOnThem() { int shipsLength = 4; int[] shipsStartingCoordinates = { 0, 9 }; Mock <IField>[] fields = new Mock <IField> [4]; for (int i = 0; i < fields.Length; i++) { fields[i] = new Mock <IField>(); } var battlefield = new Mock <IBattlefield>(); for (int i = 0; i < fields.Length; i++) { battlefield.Setup(x => x.GetField(shipsStartingCoordinates[0] + i, shipsStartingCoordinates[1])) .Returns(fields[i].Object); } var mockRandom = new Mock <Random>(); mockRandom.Setup(x => x.Next(2)).Returns(1); mockRandom.Setup(x => x.Next(9 - shipsLength + 2)).Returns(shipsStartingCoordinates[0]); mockRandom.Setup(x => x.Next(10)).Returns(shipsStartingCoordinates[1]); var ship = new Mock <IShip>(); ship.Setup(x => x.Length).Returns(shipsLength); var shipSpawner = new ShipSpawner(battlefield.Object, mockRandom.Object); Assert.True(shipSpawner.SpawnShip(ship.Object)); foreach (var field in fields) { field.Verify(x => x.PlaceShip(ship.Object), Times.Once()); } }
public void Spawn() { Virus[] viruses = GetComponentsInChildren <Virus>(); if (viruses.Length >= MaxViruses) { ShipSpawner shipSpawner = GetComponentInChildren <ShipSpawner>(); GameObject ship = shipSpawner.Spawn(); ship.GetComponent <Ship>().MakeUnfriendly(); } else { PolygonCollider2D col = GetComponent <PolygonCollider2D>(); Vector2 position = new Vector2(); bool spawn = false; for (int i = 0; i < 1000; ++i) { position = Random.insideUnitCircle * 2 + new Vector2(transform.position.x, transform.position.y); bool inSpawnZone = col.OverlapPoint(position); if (inSpawnZone) { spawn = true; break; } } if (spawn) { GameObject virus = (GameObject)Instantiate(Virus, position, transform.rotation, transform); Debug.Log("SPAWNED"); } else { Debug.Log("DUPA!"); } } }
public void HandleGameplayScene() { // Move this into PlayerController? pc.cam.enabled = true; pc.flycam.enabled = false; pc.listener.enabled = true; // var playerShip = ShipSpawner.SpawnShip(shipPrefab, Vector3.zero); pc.Possess(playerShip); var hud = FindObjectOfType <HUDManager>(); if (hud == null) { hud = Instantiate(HUDPrefab); } //DontDestroyOnLoad(hud.gameObject); hud.SetPlayerController(pc); }
void Awake() { instance = this; }
private void Awake() { _shipSpawner = GameObject.FindObjectOfType <ShipSpawner>(); }
internal virtual void go(ShipAi enermyAI, ShipSpawner cl) { throw new NotImplementedException(); }
internal override void go(ShipAi enermyAI, ShipSpawner cl) { enermyAI.xDirection = movement; }
private void Awake() { shipSpawner = GameObject.Find("Spawner").GetComponent <ShipSpawner>(); }