public override void OnUpdate() { if (!Input.GetMouseButton(Layer.mouseActionButton)) { SwitchState <PlayerInputIdle>(1); return; } Ray mouseRay = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit mouseRayInfo; if (Layer.selectedTroops.Count > 0 && Physics.Raycast(mouseRay, out mouseRayInfo) && mouseRayInfo.point.y <= 3 && !References.Fow.IsFogged(mouseRayInfo.point)) { int groupId; int[] groupIds = TroopManager.ContainingGroupZones(NetworkController.CurrentPlayerId, mouseRayInfo.point); if (groupIds.Length > 0) { groupId = groupIds[0]; TroopManager.SwitchTroopsToGroup(NetworkController.CurrentPlayerId, groupId, Layer.selectedTroops.ToArray()); } else { groupId = TroopManager.CreateGroup(NetworkController.CurrentPlayerId, Layer.selectedTroops.ToArray()); } TroopManager.MoveGroup(NetworkController.CurrentPlayerId, groupId, mouseRayInfo.point); foreach (TroopBase troop in Layer.selectedTroops) { NetworkController.instance.clientController.sendUnitTarget(troop.id, troop.Target); } } }
public TroopManager() { // Initialize listTroop = new List <Troop>(); ARM_SPRITES = new List <List <List <Sprite[]> > >(); troopShadow = Resources.Load <Sprite>(String.TROOP_PATH + String.TROOP_SHADOW); string[] ARMS = new string[] { "ARM_1", "ARM_2" }; string[] STATES = new string[] { "IDLE", "RUN", "ATTACK" }; string[] DIRECT = new string[] { "E", "NE", "N", "NW", "W", "SW", "S", "SE" }; // Loading sprites for (int k = 0; k < ARMS.Length; k++) { List <List <Sprite[]> > ARM = new List <List <Sprite[]> >(); for (int i = 0; i < STATES.Length; i++) { List <Sprite[]> STATE = new List <Sprite[]>(); for (int j = 0; j < DIRECT.Length; j++) { STATE.Add(TroopManager._LoadSpritesheet(ARMS[k], STATES[i], DIRECT[j])); } ARM.Add(STATE); } ARM_SPRITES.Add(ARM); } }
void UpdateUnitPosition(int troopPlayerId, int troopId, Vector3 position, NetworkMessageInfo info) { if (isMe(troopPlayerId)) { return; } TroopManager.MoveTroop(troopPlayerId, troopId, position); }
public bool CheckForEnemies() { TroopBase enemy = TroopManager.GetClosestInRangeEnemy(this); closestInRangeEnemy = (enemy == null || enemy.playerId == playerId) ? null : enemy; return(closestInRangeEnemy != null); }
void Awake() { taiwanMap = FindObjectOfType <TaiwanMap>(); terrain = FindObjectOfType <Terrain>(); messageBroker = FindObjectOfType <RabbitMQClient>(); troopManager = FindObjectOfType <TroopManager>(); twTerrainCam = FindObjectOfType <Camera>(); }
void UnitLightingData(int troopPlayerId, int troopId, float intensity, float range, bool lightingEnabled, NetworkMessageInfo info) { if (!isMe(troopPlayerId)) { //networkController.log("unit FadeTroopLight " + troopId + " for " + troopPlayerId + " intensity:" + intensity + " , range:" + range + " , enabled:" + lightingEnabled); TroopManager.FadeTroopLight(troopPlayerId, troopId, intensity, range, lightingEnabled); } }
void UpdateUnitTarget(int troopPlayerId, int troopId, Vector3 target, NetworkMessageInfo info) { if (isMe(troopPlayerId)) { return; } TroopManager.SetTroopTarget(troopPlayerId, troopId, target); }
private async void PlayerTroopsLoadingTimerWorker(object sender, EventArgs e) { //-------------------- ((Timer)sender).Enabled = false; ((Timer)sender).Dispose(); //-------------------- ThereIsServer.GameObjects.MyProfile.PlayerTroops = await TroopManager.LoadTroopManager(); //-------------------- this.IsLoadingEnded1 = true; }
private void ProjectFiles_lb_SelectedIndexChanged(object sender, EventArgs e) { SpecialForm form = null; if (projectFiles_lb.SelectedIndex >= 0) { string item = projectFiles_lb.SelectedItem.ToString(); string itemManagerName = item.Remove(item.Length - 1) + "Manager"; if (item.Equals("Troops")) { form = new TroopManager(); } else if (item.Equals("PartyTemplates")) { form = new PartyTemplateManager(); } else if (item.Equals("Parties")) { form = new PartyManager(); } else if (item.Equals("Menus")) { form = new MenuManager(); } else if (item.Equals("Items")) { form = new ItemManager(); } else if (item.Equals("Skills")) { form = new SkillManager(); } else { foreach (ToolForm cm in scriptCommander.CustomManagers) { if (cm.GetType().Name.Equals(itemManagerName)) { form = cm; } } } } if (form != null) { AddNewTab(form, TabMode.FillHeight); } }
void UpdateAgents() { TroopBase[] troops = TroopManager.GetTroops(NetworkController.CurrentPlayerId); troopFogAgents = new FogAgent[troops.Length]; for (int i = 0; i < troops.Length; i++) { TroopBase troop = troops[i]; troopFogAgents[i] = new FogAgent(troop.transform, troop.sightRadius * 2); } foreach (FogAgent fogAgent in fogAgents) { fogAgent.Update(); } }
void Select() { if (!Input.GetKey(Layer.addToSelectionKey1) && !Input.GetKey(Layer.addToSelectionKey2)) { DeselectAll(); } TroopBase[] troops = TroopManager.GetTroops(NetworkController.CurrentPlayerId); if (selectionRect.size.magnitude <= minBoxSize) { Ray selectionRay = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit selectionRayInfo; if (Physics.Raycast(selectionRay, out selectionRayInfo)) { TroopBase troop = selectionRayInfo.collider.GetComponent <TroopBase>(); if (troop != null && troop.playerId == NetworkController.CurrentPlayerId) { troop.Selected = true; if (!Layer.selectedTroops.Contains(troop)) { Layer.selectedTroops.Add(troop); } } } } else { foreach (TroopBase troop in troops) { Vector3 troopScreenPosition = Camera.main.WorldToScreenPoint(troop.transform.position); troopScreenPosition.y = Screen.height - troopScreenPosition.y; if (selectionRect.Contains(troopScreenPosition, true)) { troop.Selected = true; Layer.selectedTroops.Add(troop); } } } }
//-------------------------------------------------- private async void CreatePlayerTroops_Tick(object sender, EventArgs e) { ((Timer)sender).Enabled = false; ((Timer)sender).Dispose(); //----------------------------------------------- PlayerTroops = TroopManager.GetTroopManager(Troop.GetBasicTroops()); //----------------------------------------------- //----------------------------------------------- await Troop.CreatePlayerTroops(PlayerTroops.Troops); //----------------------------------------------- ((CreateProfileSandBox)ThereIsConstants.Forming.TheMainForm.ShowingSandBox).IsCreatingEnded4 = true; GC.Collect(); }
public override void OnUpdate() { base.OnUpdate(); if (debug && Input.GetKey(KeyCode.Space)) { if (!NetworkController.instance.isConnected) { TroopManager.Spawn(new [] { NetworkController.CurrentPlayerId, 100 }.GetRandom(), Random.Range(0, int.MaxValue), Random.Range(0, 3)); } else if (NetworkController.instance.clientController.playerId == 1) { NetworkController.instance.clientController.spawnUnit(Random.Range(0, 3), new Vector3(-50, 0, 0), Quaternion.identity); } else { NetworkController.instance.clientController.spawnUnit(Random.Range(0, 3), new Vector3(50, 0, 0), Quaternion.identity); } } }
//Manage the IA which player has to fight. //Counter on counterProb %. //Get gold in noteHitProb% at notes (this is in NotesIA() at NoteHit() and NoteMissed() methods). public void manageIA() { if (enemyGold >= 20) { int rnShop = Random.Range(0, 3); int rnStreet = Random.Range(0, 3); float rnRandom = Random.Range(0f, 1f); TroopManager[] allyChilds = allyTroops.GetComponentsInChildren <TroopManager>(); TroopManager[] enemyChilds = enemyTroops.GetComponentsInChildren <TroopManager>(); if (enemyHP <= 25) { rnRandom /= 2; } if (rnRandom < counterProb && allyChilds.Length != 0) { float maxX = -7.0f; int selectedATroop = 0; for (int i = 0; i < allyChilds.Length; i++) { if (allyChilds[i].transform.position.x > maxX) { maxX = allyChilds[i].transform.position.x; selectedATroop = i; } } TroopManager randomObject = allyChilds[selectedATroop]; bool countered = false; if (enemyChilds.Length != 0) { for (int i = 0; i < enemyChilds.Length; i++) { if (enemyChilds[i].street == randomObject.street) { if (randomObject.type == 0) { if (enemyChilds[i].type == 2) { countered = true; } } else { if (enemyChilds[i].type < randomObject.type) { countered = true; } } } //If end. } //For end. } //If end. if (!countered) { rnShop = (randomObject.type == 0) ? 2 : randomObject.type - 1; rnStreet = randomObject.street; } } switch (rnShop) { case 0: switch (rnStreet) { case 0: GameObject squireTroop0 = Instantiate(squire, new Vector3(0.7f, 1.8f, 5.0f), Quaternion.Euler(0.0f, 0.0f, 0.0f), enemyTroops.transform); squireTroop0.transform.localScale = new Vector3(0.3f, 0.3f, 1f); squireTroop0.GetComponent <TroopManager>().allyOrEnemy = false; squireTroop0.GetComponent <TroopManager>().type = 0; squireTroop0.GetComponent <TroopManager>().street = 0; squireTroop0.layer = 11; squireTroop0.transform.tag = "EnemySquire"; break; case 1: GameObject squireTroop1 = Instantiate(squire, new Vector3(1.4f, 1.0f, 4.0f), Quaternion.Euler(0.0f, 0.0f, 0.0f), enemyTroops.transform); squireTroop1.transform.localScale = new Vector3(0.35f, 0.35f, 1f); squireTroop1.GetComponent <TroopManager>().allyOrEnemy = false; squireTroop1.GetComponent <TroopManager>().type = 0; squireTroop1.GetComponent <TroopManager>().street = 1; squireTroop1.layer = 11; squireTroop1.transform.tag = "EnemySquire"; break; case 2: GameObject squireTroop2 = Instantiate(squire, new Vector3(2.0f, 0.1f, 3.0f), Quaternion.Euler(0.0f, 0.0f, 0.0f), enemyTroops.transform); squireTroop2.transform.localScale = new Vector3(0.4f, 0.4f, 1f); squireTroop2.GetComponent <TroopManager>().allyOrEnemy = false; squireTroop2.GetComponent <TroopManager>().type = 0; squireTroop2.GetComponent <TroopManager>().street = 2; squireTroop2.layer = 11; squireTroop2.transform.tag = "EnemySquire"; break; } break; case 1: switch (rnStreet) { case 0: GameObject archerTroop0 = Instantiate(archer, new Vector3(0.7f, 1.8f, 5.0f), Quaternion.Euler(0.0f, 0.0f, 0.0f), enemyTroops.transform); archerTroop0.transform.localScale = new Vector3(0.3f, 0.3f, 1f); archerTroop0.GetComponent <TroopManager>().allyOrEnemy = false; archerTroop0.GetComponent <TroopManager>().type = 1; archerTroop0.GetComponent <TroopManager>().street = 0; archerTroop0.layer = 11; archerTroop0.transform.tag = "EnemyArcher"; break; case 1: GameObject archerTroop1 = Instantiate(archer, new Vector3(1.3f, 1.0f, 4.0f), Quaternion.Euler(0.0f, 0.0f, 0.0f), enemyTroops.transform); archerTroop1.transform.localScale = new Vector3(0.35f, 0.35f, 1f); archerTroop1.GetComponent <TroopManager>().allyOrEnemy = false; archerTroop1.GetComponent <TroopManager>().type = 1; archerTroop1.GetComponent <TroopManager>().street = 1; archerTroop1.layer = 11; archerTroop1.transform.tag = "EnemyArcher"; break; case 2: GameObject archerTroop2 = Instantiate(archer, new Vector3(2.0f, 0.1f, 3.0f), Quaternion.Euler(0.0f, 0.0f, 0.0f), enemyTroops.transform); archerTroop2.transform.localScale = new Vector3(0.4f, 0.4f, 1f); archerTroop2.GetComponent <TroopManager>().allyOrEnemy = false; archerTroop2.GetComponent <TroopManager>().type = 1; archerTroop2.GetComponent <TroopManager>().street = 2; archerTroop2.layer = 11; archerTroop2.transform.tag = "EnemyArcher"; break; } break; case 2: switch (rnStreet) { case 0: GameObject knightTroop0 = Instantiate(knight, new Vector3(0.4f, 1.8f, 5.0f), Quaternion.Euler(0.0f, 0.0f, 0.0f), enemyTroops.transform); knightTroop0.transform.localScale = new Vector3(0.3f, 0.3f, 1f); knightTroop0.GetComponent <TroopManager>().allyOrEnemy = false; knightTroop0.GetComponent <TroopManager>().type = 2; knightTroop0.GetComponent <TroopManager>().street = 0; knightTroop0.layer = 11; knightTroop0.transform.tag = "EnemyKnight"; break; case 1: GameObject knightTroop1 = Instantiate(knight, new Vector3(1.0f, 1.0f, 4.0f), Quaternion.Euler(0.0f, 0.0f, 0.0f), enemyTroops.transform); knightTroop1.transform.localScale = new Vector3(0.35f, 0.35f, 1f); knightTroop1.GetComponent <TroopManager>().allyOrEnemy = false; knightTroop1.GetComponent <TroopManager>().type = 2; knightTroop1.GetComponent <TroopManager>().street = 1; knightTroop1.layer = 11; knightTroop1.transform.tag = "EnemyKnight"; break; case 2: GameObject knightTroop2 = Instantiate(knight, new Vector3(1.7f, 0.1f, 3.0f), Quaternion.Euler(0.0f, 0.0f, 0.0f), enemyTroops.transform); knightTroop2.transform.localScale = new Vector3(0.4f, 0.4f, 1f); knightTroop2.GetComponent <TroopManager>().allyOrEnemy = false; knightTroop2.GetComponent <TroopManager>().type = 2; knightTroop2.GetComponent <TroopManager>().street = 2; knightTroop2.layer = 11; knightTroop2.transform.tag = "EnemyKnight"; break; } break; } //End of rnShop switch. enemyGold -= 20; } //If end. }
void UnitDamage(int troopPlayerId, int troopId, float damage, NetworkMessageInfo info) { //networkController.log("Unit " + troopId + " of " + troopPlayerId + " is dealted for " + damage); TroopManager.DamageTroop(troopPlayerId, troopId, damage); }
void ToClientSpawnUnit(int troopPlayerId, int troopId, int troopType, Vector3 position, Quaternion rotation, NetworkMessageInfo info) { //networkController.log("Spawn unit " + troopId + " for " + troopPlayerId + " at " + position); TroopManager.Spawn(troopPlayerId, troopId, troopType, position, rotation); }
void Start() { //only if we didn't assign, try to do it automatically if (!tm)tm = FindObjectOfType<TroopManager> (); tm.ManageGate (this); nextTroopToSpawnName = troopPrefabs[0].name; if (!stats)Debug.LogError ("@Gate.Start(). No reference to stats"); CanSpawn = true; IsAlive = true; }
// Use this for initialization void Start() { playerTroops = this; healthy.Add("Hoplite",startingHoplite); healthy.Add("Archer", startingArcher); healthy.Add("Swordsman", startingSwordsman); healthy.Add("Cavalry", startingCavalry); healthy.Add("Slinger", startingSlinger); healthy.Add("Peltast", startingPeltast); wounded.Add("Hoplite", 0); wounded.Add("Archer", 0); wounded.Add("Swordsman", 0); wounded.Add("Cavalry", 0); wounded.Add("Slinger", 0); wounded.Add("Peltast", 0); }
public static int ToTypeId(TroopBase troop) { return(TroopManager.ToTypeId(troop)); }
void ToClientKillUnit(int troopPlayerId, int troopId, NetworkMessageInfo info) { TroopManager.KillTroop(troopPlayerId, troopId); }
public void Despawn() { TroopManager.Despawn(this); }
public static Bullet Spawn(int bulletId, int playerIdSource, int troopIdSource, int playerIdTarget, int troopIdTarget) { return(Spawn(bulletId, TroopManager.GetTroop(playerIdSource, troopIdSource), TroopManager.GetTroop(playerIdTarget, troopIdTarget))); }
// Use this for initialization void Start() { playerResources = this; waterText = GameObject.Find("WaterMonitor"); foodText = GameObject.Find("FoodMonitor"); moraleText = GameObject.Find("MoraleMonitor"); sailorText = GameObject.Find("SailorMonitor"); staminaText = GameObject.Find("StaminaMonitor"); healthText = GameObject.Find("HealthMonitor"); hullText = GameObject.Find("HullMonitor"); goldText = GameObject.Find("GoldMonitor"); waterText.GetComponent<Text>().text = water.ToString("F0") + "L"; foodText.GetComponent<Text>().text = food.ToString("F0") + "Kg"; moraleText.GetComponent<Text>().text = morale.ToString() + "%"; staminaText.GetComponent<Text>().text = stamina.ToString() + "%"; sailorText.GetComponent<Text>().text = sailors.ToString(); healthText.GetComponent<Text>().text = health.ToString() + "%"; hullText.GetComponent<Text>().text = shipHealth.ToString() + "%"; goldText.GetComponent<Text>().text = gold.ToString(); troopManager = GameObject.FindGameObjectWithTag("TroopManager").GetComponent<TroopManager>(); }