void Start() { uiHandler = GameObject.FindGameObjectWithTag("GameController").GetComponent <UIHandler>(); backgroundSprite = GetComponent <SpriteRenderer>(); borderSprite = transform.FindChild("Hex Border").GetComponent <SpriteRenderer>(); terrainSprite = transform.FindChild("Terrain Sprite").GetComponent <SpriteRenderer>(); selectionHighlightSprite = transform.FindChild("Selection Highlight").GetComponent <SpriteRenderer>(); enemyHighlightSprite = transform.FindChild("Enemy Highlight").GetComponent <SpriteRenderer>(); hoverHighlightSprite = transform.FindChild("Hover Highlight").GetComponent <SpriteRenderer>(); initialized = true; TerrainSprite = _terrain; }
void Start() { uiHandler = GameObject.FindGameObjectWithTag("GameController").GetComponent <UIHandler>(); spriteContainerTransform = transform.FindChild("SpriteHolder"); UnitBackground = spriteContainerTransform.FindChild("Background").GetComponent <SpriteRenderer>(); BaseTypeSprite = spriteContainerTransform.FindChild("Base Type").GetComponent <SpriteRenderer>(); BaseTypeSprite.color = Config.Palette.unitIconFill; BaseTypeBorder = BaseTypeSprite.transform.FindChild("Base Type Border").GetComponent <SpriteRenderer>(); BaseTypeBorder.color = Config.Palette.border; WeaponSprite = spriteContainerTransform.FindChild("Weapon").GetComponent <SpriteRenderer>(); WeaponSprite.color = Config.Palette.unitIconFill; WeaponSpriteBorder = WeaponSprite.transform.FindChild("Weapon Border").GetComponent <SpriteRenderer>(); WeaponSpriteBorder.color = Config.Palette.border; Border = spriteContainerTransform.FindChild("Border").GetComponent <SpriteRenderer>(); Border.color = Config.Palette.border; pathVisualizer = uiHandler.GetComponent <PathVisualizer>(); shaking = false; shakeSeed = Random.Range(0.0f, 20000.0f);// So that units do not shake identically flashFadeActive = false; isThisUnitSelected = false; visualizingCombat = false; animatingCombat = false; cursorHovered = false; altButtonDown = false; GameObject healthBarObject = Instantiate(healthBarPrefab, Vector3.zero, Quaternion.identity); healthBarObject.transform.SetParent(GameObject.Find("WorldCanvas").transform); healthBarObject.transform.localScale = Vector3.one; HealthBar = healthBarObject.GetComponent <RectTransform>(); HealthFill = HealthBar.FindChild("HealthFill").GetComponent <RectTransform>(); initialized = true; UnitType = _unitType; WeaponType = _weaponType; PlayerOwner = _playerOwner; VisiblePosition = _visiblePosition; MaxHealthDisplay = _maxHealthDisplay; CurrentHealthDisplay = _currentHealthDisplay; ShowExtraInfo(UnitInfoDisplaySource.CombatAnimation, false);//Technically renders it true if AlwaysDisplayHealthBars is true }
public IUnitController Create(int playerOwner, UnitBaseType type, WeaponType weapon, HexEntry startPosition) { if (gameManager == null) { gameManager = GetComponent <GameManager>(); scenarioLoader = GetComponent <ScenarioLoader>(); selectionManager = GetComponent <SelectionManager>(); uiHandler = GetComponent <UIHandler>(); } GameObject unit = Instantiate(unitPrefab, Vector3.zero, Quaternion.identity); IUnitController unitController = new DefaultUnitController(type, weapon, playerOwner); UnitSpriteManager unitSpriteManager = unit.GetComponent <UnitSpriteManager>(); unitSpriteManager.UnitController = unitController; IMover mover = new DefaultMover(unitController, gameManager, selectionManager, scenarioLoader); OutcomeAnimator outcomeAnimator = new OutcomeAnimator(selectionManager, uiHandler); unitController.Initialize(mover, outcomeAnimator, unitSpriteManager, startPosition); switch (weapon) { case WeaponType.None: unitController.Weapon = new EmptyWeapon(unitController, gameManager, scenarioLoader, selectionManager); break; case WeaponType.Spear: unitController.Weapon = new Spear(unitController, gameManager, scenarioLoader, selectionManager); break; case WeaponType.Sword: unitController.Weapon = new Sword(unitController, gameManager, scenarioLoader, selectionManager); break; case WeaponType.Axe: unitController.Weapon = new Axe(unitController, gameManager, scenarioLoader, selectionManager); break; case WeaponType.Quarterstaff: unitController.Weapon = new Quarterstaff(unitController, gameManager, scenarioLoader, selectionManager); break; case WeaponType.Flail: unitController.Weapon = new Flail(unitController, gameManager, scenarioLoader, selectionManager); break; case WeaponType.Dagger: unitController.Weapon = new Dagger(unitController, gameManager, scenarioLoader, selectionManager); break; case WeaponType.Longbow: unitController.Weapon = new Longbow(unitController, gameManager, scenarioLoader, selectionManager); break; case WeaponType.Crossbow: unitController.Weapon = new Crossbow(unitController, gameManager, scenarioLoader, selectionManager); break; case WeaponType.Shield: unitController.Weapon = new Shield(unitController, gameManager, scenarioLoader, selectionManager); break; } return(unitController); }
} // The player whose turn it currently is void Start() { // Cache major scripts to be initialized scenarioLoader = GetComponent <ScenarioLoader>(); uiHandler = GetComponent <UIHandler>(); selectionManager = GetComponent <SelectionManager>(); unitFactory = GetComponent <UnitFactory>(); // Load map, then camera scenarioLoader.Initialize(); uiHandler.Initialize(); // Establish player types, network information GameObject matchControllerObject = GameObject.Find("MatchController"); if (matchControllerObject != null) { matchController = matchControllerObject.GetComponent <Netcode.MatchController>(); } if (matchController != null) { playerDirectory = new Dictionary <int, PlayerType>(); foreach (int player in matchController.netRepPlayers.Keys) { if (matchController.whoAmI == player) { playerDirectory.Add(player, PlayerType.Local); } else { playerDirectory.Add(player, PlayerType.Online); } } } else if (Vaults.playerDirectory != null) { playerDirectory = Vaults.playerDirectory; } else { Debug.Log("Using default playerDirectory"); playerDirectory = new Dictionary <int, PlayerType>(); playerDirectory.Add(1, PlayerType.Local); playerDirectory.Add(2, PlayerType.AI); // FOR TESTING__, these defaults shouldn't be reached } Tutorial.TutorialManager tutorialManager = GetComponent <Tutorial.TutorialManager>(); if (tutorialManager != null) { computerPlayer = new Tutorial.TutorialAI(tutorialManager, selectionManager, scenarioLoader); } else if (playerDirectory.Values.Contains(PlayerType.AI)) { computerPlayer = new DefaultAI(selectionManager, scenarioLoader); } ActivePlayer = 1; // Build & load units onto the map if (Vaults.wsUnitList != null) { foreach (WeaponSelect.WSController.WSUnitDescriptor unit in Vaults.wsUnitList) { unitFactory.Create(unit.player, unit.unitType, unit.weaponType, scenarioLoader.HexGrid[unit.position]); } } else // FOR TESTING /* * unitFactory.Create(1, UnitBaseType.Simple, WeaponType.Longbow, GetComponent<ScenarioLoader>().HexGrid[new Vector2(-5, 5)]); * unitFactory.Create(1, UnitBaseType.Simple, WeaponType.Shield, GetComponent<ScenarioLoader>().HexGrid[new Vector2(-3, 5)]); * unitFactory.Create(2, UnitBaseType.Simple, WeaponType.Spear, GetComponent<ScenarioLoader>().HexGrid[new Vector2(0, -5)]); * unitFactory.Create(2, UnitBaseType.Simple, WeaponType.Flail, GetComponent<ScenarioLoader>().HexGrid[new Vector2(-3, -5)]);*/ { } // Initialize the first turn selectionManager.Initialize(); if (tutorialManager != null) { tutorialManager.Initialize(); } }
public InputEnabled(bool hexHover, bool hexClick, bool unitHover, bool unitClick, bool undoMove, bool turnEnd, UIHandler uiHandler) { this.uiHandler = uiHandler; this.hexHover = hexHover; this.hexClick = hexClick; this.unitHover = unitHover; this.unitClick = unitClick; this.undoMove = undoMove; TurnEnd = turnEnd; }