protected override NodeStates Tick(Tick tick) { NodeStates result = NodeStates.Error; Entity entity = tick.Target as Entity; if (entity != null) { SideManager sideManager = Locator.Get <SideManager>(); SideComponent sideComponent = entity.GetComponent <SideComponent>(); if (sideComponent != null) { TileMap <Cell> map = Locator.Get <MapManager>().Map; List <Entity> enemies = sideManager.GetOtherSidesActors(sideComponent.Side); result = NodeStates.Failure; int i = 0; while (result == NodeStates.Failure && i < enemies.Count) { bool isEnemyInVisibleCell = map[enemies[i].CellTransform.Position].Visibility == VisibilityType.Visible; if (isEnemyInVisibleCell && CanSeeEntity(entity, enemies[i])) { result = NodeStates.Success; } i++; } } } return(result); }
void Start() { if (sideManager == null) { sideManager = this; } }
public override IEnumerator Run(SideManager sideManager) { sideManager.AllowDragDrop(); while (true) { yield return(null); } }
public override IEnumerator Run(SideManager sideManager) { // Untap all cards foreach (var card in sideManager.MatchSide.Front) { if (!card.IsTapped) { continue; } card.Untap(); card.CardObject.TargetTransform.Rotate(Vector3.forward, 90); } yield break; }
private Vector3 HandleRotation(Int2 nextPosition, Vector3 currentRotation, TileMapPart mapPart) { var currentPosition = CalculateCurrentPosition(); if (nextPosition.X > currentPosition.X) //going to right { currentRotation.y = SideManager.GetRotation(SideManager.Right, mapPart); } else if (nextPosition.X < currentPosition.X)//going to left { currentRotation.y = SideManager.GetRotation(SideManager.Left, mapPart); } else if (nextPosition.Y > currentPosition.Y)//going to top { currentRotation.y = SideManager.GetRotation(SideManager.Top, mapPart); } else if (nextPosition.Y < currentPosition.Y)//going to down { currentRotation.y = SideManager.GetRotation(SideManager.Down, mapPart); } return(currentRotation); }
private void Start() { SideManager sideManeger = GameObject.Find("SideManager").GetComponent <SideManager>(); }
public override IEnumerator Run(SideManager sideManager) { yield return(sideManager.PickCard(true, true)); }
public abstract IEnumerator Run(SideManager sideManager);
private void OnTriggerEnter(Collider other) { SideManager.getInstance().Teletransport(this, other.gameObject); Debug.Log("Choco"); }
void Awake() { Events.instance.AddListener<MapSetUpCompleteEvent> (StartSideSelect); Events.instance.AddListener<SideSelectedEvent> (SideSelected); Events.instance.AddListener<StartUnitPlacementEvent> (StartUnitPlacement); Events.instance.AddListener<UnitsPlacedEvent> (UnitsPlaced); Events.instance.AddListener<GameStartEvent> (GameStart); // set instance if(instance == null){ instance = gameObject.GetComponent<GameManager>(); }else{ Destroy(gameObject); } // get the SideManager component for each side botManager = botSide.GetComponent<SideManager>(); leftManager = leftSide.GetComponent<SideManager>(); topManager = topSide.GetComponent<SideManager>(); rightManager = rightSide.GetComponent<SideManager>(); // create the players to be rotated through activeSides = new GameObject[numPlayers]; players = new GameObject[numPlayers]; for(int i = 0; i < numPlayers; i++){ players[i] = (GameObject) Instantiate(playerObject, transform.position, Quaternion.identity); players[i].name = string.Format("Player_{0}", i + 1); } curStage = GameStage.SetUp; }