// Start is called before the first frame update void Awake() { base.Awake(); movementController = GetComponentInParent <GridMovementController>(); if (isPlayer1) { iManager.onP1Shield.AddListener(Shield); } else { iManager.onP2Shield.AddListener(Shield); } shieldHealthSlider.maxValue = shieldMaxHealth; shieldHealthSlider.value = currentShieldHealth = shieldMaxHealth; sprite = GetComponent <SpriteRenderer>(); collider = GetComponent <CircleCollider2D>(); defaultShieldColor = sprite.color; sprite.enabled = false; collider.enabled = false; parryTimer = 0; localIsShielding = false; }
// Start is called before the first frame update protected virtual void Awake() { base.Awake(); animator = GetComponent <Animator>(); movementController = GetComponent <GridMovementController>(); }
protected void Setup() { m_moveControl = GetComponent <GridMovementController>(); stats = GetComponent <Stats>(); ActionScript moveAction = gameObject.AddComponent(typeof(ActionScript)) as ActionScript; moveAction.action = new UnityEngine.Events.UnityEvent(); moveAction.action.AddListener(MoveClick); moveAction.actionImage = moveActionImage; skills.Add(moveAction); }
private void Awake() { movementController = gameObject.GetComponent <GridMovementController>(); if (!active) { gameObject.layer = LayerSleep; anim.SetBool("Sleep", true); cooldowntimerghost = 0; movementController.enabled = false; } }
private void LoadGridController(Scene arg0, LoadSceneMode arg1) { if (arg0.name == "GameScene") { Scene gameScene = SceneManager.GetSceneByName("GameScene"); GameObject[] gameObjects = gameScene.GetRootGameObjects(); for (int i = 0; i < gameObjects.Length; i++) { if (gameObjects[i].name == "Player1") { gmController = gameObjects[i].GetComponent <GridMovementController>(); } } } }
public void TurnOn(TileType type) { if (!renderer) { renderer = GetComponent <MeshRenderer>(); } if (!gmc) { gmc = GetComponent <GridMovementController>(); } used = true; tileType = type; int index = (int)tileType; Color color = onIdle[(int)tileType]; renderer.material.color = onIdle[(int)tileType]; gameObject.SetActive(true); }
// Start is called before the first frame update void Start() { stats = GetComponent <Stats>(); playerCharList = new List <GameObject>(); skillTree = GetComponent <SkillTreeScript>(); GameObject[] p = GameObject.FindGameObjectsWithTag("Ally"); float distance = float.MaxValue; foreach (var item in p) { playerCharList.Add(item); float tempDis = Vector3.Distance(item.transform.position, transform.position); if (tempDis < distance) { distance = tempDis; target = item; } } gmc = GetComponent <GridMovementController>(); bg = FindObjectOfType <BoardGenerator>(); }
// Start is called before the first frame update void Awake() { base.Awake(); animator = GetComponent <Animator>(); if (isPlayer1) { p1Movement = GetComponent <GridMovementController>(); iManager.onP1Grab.AddListener(Grab); p2Movement = GameObject.Find("Player2").GetComponent <GridMovementController>(); } else { p2Movement = GetComponent <GridMovementController>(); iManager.onP2Grab.AddListener(Grab); p1Movement = GameObject.Find("Player1").GetComponent <GridMovementController>(); } }
}//Draws grid to show board division #endif public void MoveToCell(Vector2 cellIndex, GameObject obj, GridMovementController moveController) { Cell target = isValidCell((int)cellIndex.x, (int)cellIndex.y); bool isTile = obj.GetComponent <ClickerTile>(); if (target != null) { if (!isTile) { moveController.currentCell.occupiedObject = null; } obj.transform.position = new Vector3(transform.position.x + target.startX + (target.width / 2) - width / 2, obj.transform.position.y, transform.position.z + target.startY + (target.height / 2) - height / 2);//position = half the cell width + parent padding (transform.x - this width / 2) moveController.currentCell = target; if (!isTile) { target.occupiedObject = obj; } } }
public void setupClickBoard(BoardGenerator.Cell start, int range, TargetType type, bool Attack, System.Func <ClickerTile, int> func) { _func = func; foreach (var item in ClickTiles) { item.gameObject.SetActive(false); } int cx = (int)start.index.x, cy = (int)start.index.y; //get center xy switch (type) { case TargetType.Empty: { List <BoardGenerator.Cell> walkable = new List <BoardGenerator.Cell>(); for (int x = cx - range; x <= cx + range; x++) //from left to right { int val = cx - x; val = Mathf.Abs(val); val = range - val; //closer to leftmost,rightmost, y range will be lowest for (int y = cy - val; y <= cy + val; y++) { BoardGenerator.Cell temp = GameManagerScript.getBoard().isValidCell(new Vector2(x, y)); if (temp != null) { if (!temp.occupiedObject) { walkable.Add(temp); } } } } foreach (var cell in walkable) { ClickerTile temptile = null; //If have any available tile foreach (var tile in ClickTiles) { if (!tile.used) { //get tile ref temptile = tile; break; } } if (temptile == null) { //else instantiate a new one GameObject temp = Instantiate(dot, transform); temptile = temp.GetComponent <ClickerTile>(); temptile.setClicker(this); ClickTiles.Add(temptile); } //set position GridMovementController gmc = temptile.GetComponent <GridMovementController>(); GameManagerScript.getBoard().MoveToCell(cell.index, temptile.gameObject, gmc); //set active temptile.TurnOn(ClickerTile.TileType.Walkable); } break; } case TargetType.Ally: case TargetType.Enemy: { List <BoardGenerator.Cell> withinRange = new List <BoardGenerator.Cell>(); for (int x = cx - range; x <= cx + range; x++) //from left to right { int val = cx - x; val = Mathf.Abs(val); val = range - val; //closer to leftmost,rightmost, y range will be lowest for (int y = cy - val; y <= cy + val; y++) { BoardGenerator.Cell temp = GameManagerScript.getBoard().isValidCell(new Vector2(x, y)); if (temp != null) { withinRange.Add(temp); } } } foreach (var cell in withinRange) { ClickerTile temptile = null; //If have any available tile foreach (var tile in ClickTiles) { if (!tile.used) { //get tile ref temptile = tile; break; } } if (temptile == null) { //else instantiate a new one GameObject temp = Instantiate(dot, transform); temptile = temp.GetComponent <ClickerTile>(); temptile.setClicker(this); ClickTiles.Add(temptile); } //set position GridMovementController gmc = temptile.GetComponent <GridMovementController>(); GameManagerScript.getBoard().MoveToCell(cell.index, temptile.gameObject, gmc); //set active if (!cell.occupiedObject) { temptile.TurnOn(ClickerTile.TileType.Range); } else { if (cell.occupiedObject.tag == "Ally") { if (type == TargetType.Ally) { if (Attack) { temptile.TurnOn(ClickerTile.TileType.Attackable); } else { temptile.TurnOn(ClickerTile.TileType.Healable); } } else { temptile.TurnOn(ClickerTile.TileType.Range); } } else if (cell.occupiedObject.tag == "Enemy") { if (type == TargetType.Enemy) { if (Attack) { temptile.TurnOn(ClickerTile.TileType.Attackable); } else { temptile.TurnOn(ClickerTile.TileType.Healable); } } else { temptile.TurnOn(ClickerTile.TileType.Range); } } else { temptile.TurnOn(ClickerTile.TileType.Range); } } } break; } default: break; } //Search(start, range, type); //foreach (var item in availableCells) //{ // ClickerTile temptile = null; // //If have any available tile // foreach (var tile in ClickTiles) // { // if (!tile.used) // { // //get tile ref // temptile = tile; // break; // } // } // if (temptile == null) // { // //else instantiate a new one // GameObject temp = Instantiate(dot, transform); // temptile = temp.GetComponent<ClickerTile>(); // temptile.setClicker(this); // ClickTiles.Add(temptile); // } // //set position // GridMovementController gmc = temptile.GetComponent<GridMovementController>(); // GameManagerScript.getBoard().MoveToCell(item.index, temptile.gameObject, gmc); // //set active // temptile.gameObject.SetActive(true); // temptile.used = true; //} }
private void Awake() { movementController = gameObject.GetComponent <GridMovementController>(); actionController = gameObject.GetComponent <ReleaseGhost>(); }
void Start() { renderer = GetComponent <MeshRenderer>(); gmc = GetComponent <GridMovementController>(); }