Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 void Start()
 {
     if (sideManager == null)
     {
         sideManager = this;
     }
 }
Exemplo n.º 3
0
    public override IEnumerator Run(SideManager sideManager)
    {
        sideManager.AllowDragDrop();

        while (true)
        {
            yield return(null);
        }
    }
Exemplo n.º 4
0
    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;
    }
Exemplo n.º 5
0
    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);
    }
Exemplo n.º 6
0
 private void Start()
 {
     SideManager sideManeger = GameObject.Find("SideManager").GetComponent <SideManager>();
 }
Exemplo n.º 7
0
 public override IEnumerator Run(SideManager sideManager)
 {
     yield return(sideManager.PickCard(true, true));
 }
Exemplo n.º 8
0
 public abstract IEnumerator Run(SideManager sideManager);
Exemplo n.º 9
0
 private void OnTriggerEnter(Collider other)
 {
     SideManager.getInstance().Teletransport(this, other.gameObject);
     Debug.Log("Choco");
 }
Exemplo n.º 10
0
    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;
    }