Exemple #1
0
 private void Awake()
 {
     OnOsmFileParsed = new MultithreadedOsmFileParserEvent();
     OnGeoJSONParsed = new MultithreadedOsmGeoJSONParserEvent();
     OnTileRemoved   = new TileEvent();
     Tilemap         = new Tilemap(new Tile(0, 0, Zoom));
 }
        IEnumerator HandleBranch()
        {
            int value = 0;

            if (currentEvent.diceCheck != DiceType.none)
            {
                Dice diceToRoll = null;

                if (currentEvent.diceCheck == DiceType.explore)
                {
                    diceToRoll = FindObjectOfType <DiceContainer>().currentExploreDice;
                }
                else if (currentEvent.diceCheck == DiceType.combat)
                {
                    diceToRoll = FindObjectOfType <DiceContainer>().currentCombatDice;
                }

                playerDice.SetActive(true);
                DiceRoller diceRoller = playerDice.GetComponent <DiceRoller>();
                diceRoller.TriggerDiceRoll(diceToRoll);

                while (diceRoller.isRolling)
                {
                    yield return(null);
                }

                Side resultSide = diceToRoll.sides[diceRoller.resultIndex];
                value = resultSide.value;
            }

            TileEvent nextEvent = currentEvent.options[currentEvent.eventBranch.GetBranch(value)].nextEvent;

            MoveToNextEvent(nextEvent);
        }
        public void MoveToNextEvent(TileEvent eventToUpdate)
        {
            StopAllCoroutines();

            UpdateEvent(eventToUpdate);
            StartCoroutine(HandleEvent());
        }
Exemple #4
0
        // Paint tile
        void OnTileEvent(object sender, TileEvent e)
        {
            switch (e.Type)
            {
            case TileEventType.CompletedBuild:
                buildDisplay1.MarkCompleted(e.X, e.Y);
                break;

            case TileEventType.StartedBuild:
                buildDisplay1.MarkRunning(e.X, e.Y);
                break;

            case TileEventType.FailedBuild:
                buildDisplay1.MarkFailed(e.X, e.Y);
                break;

            //I added this
            case TileEventType.AlreadyBuilt:
                buildDisplay1.MarkAlreadyBuilt(e.X, e.Y);
                break;

            case TileEventType.ToBuild:
                buildDisplay1.MarkToBeDone(e.X, e.Y);
                break;

            case TileEventType.BuiltByOther:
                buildDisplay1.MarkDoneByother(e.X, e.Y);
                break;
            }
        }
Exemple #5
0
    public void ValidateOrder(TileEvent tileEvent)
    {
        var todo = objectives[0];

        foreach (var objective in objectives)
        {
            //ignore this entry if it was completed
            if (objective.tileEvent.completed)
            {
                continue;
            }

            //store the current objective and exit loop
            todo = objective;
            break;
        }

        if (todo.tileEvent == tileEvent)
        {
            Manager.Instance.bgmPlayer.Queue(todo.BGMChange);
            tileEvent.indicator.GetComponent <MeshRenderer>().material.color = Color.white;
            tileEvent.indicator.GetComponent <MeshRenderer>().material.SetColor(EmissionColor, Color.white);;
            tileEvent.completed = true;
        }
    }
Exemple #6
0
 public void Check()
 {
     if (player.GetActionUI() > 0)
     {
         tileEvent = currentTile.GetComponent <TileEvent> ();
         player.SetActionUI(-1);
         uiC.CheckUI(tileEvent);
     }
 }
Exemple #7
0
    private void Start()
    {
        PlayerPrefs.DeleteAll();

        cookiesEvent     = new CookiesTileEvent(3);
        cakeEvent        = new CakeTileEvent(10);
        vitaminEvent     = new VitaminTileEvent(5);
        specialTileEvent = new SpecialTileEvent(7);
    }
Exemple #8
0
    public void OnTileEvent(TileEvent tileEvent, Character character)
    {
        TileBehavior tileBehavior = _TileBehaviors[(int)tileEvent];

        if (tileBehavior != null)
        {
            tileBehavior.Execute(character, this);
        }
    }
    public static void TriggerEvent(string eventName, TaskableBase location)
    {
        TileEvent thisEvent = null;

        if (instance.tileEventDictionary.TryGetValue(eventName, out thisEvent))
        {
            thisEvent.Invoke(location);
        }
    }
    // Start is called before the first frame update
    void Start()
    {
        PlayerPrefs.DeleteAll();

        cookiesEvent = new CookiesTileEvent(3);
        cakeEvent    = new CakeTileEvent(10);

        PointOfInterestWithEvents.OnPointOfInterestEntered += PointOfInterestWithEvents_OnPointOfInterestEntered;
    }
Exemple #11
0
        void UpdateEvent(TileEvent eventToUpdate)
        {
            for (int i = 0; i < eventButtons.buttons.Length; i++)
            {
                eventButtons.buttons[i].gameObject.SetActive(false);
            }

            currentEvent = eventToUpdate;

            eventTextBox.EnqueueDescriptions(currentEvent.descriptions);
        }
Exemple #12
0
    public static TileBehavior CreateTileBehavior(TileType tileType, TileEvent tileEvent)
    {
        TileBehaviorFactoryBase factory = _TileBehaviorFactories[(int)tileType, (int)tileEvent];

        if (factory != null)
        {
            return(factory.CreateTileBehavior());
        }

        return(null);
    }
    void Start()
    {
        PlayerPrefs.DeleteAll();
        cookiesEvent = new MatchTileEvent(3);
        cakeEvent    = new MatchTileEvent(10);
        candyEvent   = new MatchTileEvent(5);

        foreach (var poi in FindObjectsOfType <PointOfInterest>())
        {
            poi.Register_Observer(this);
        }
    }
    void Start()
    {
        PlayerPrefs.DeleteAll();

        //Buat event
        cookiesEvent = new CookiesTileEvent(3);
        cakeEvent    = new CakeTileEvent(10);
        gumEvent     = new GumTileEvent(5);
        timeEvent    = new TimeTileEvent();

        StartCoroutine(registerDelay());
    }
Exemple #15
0
        public override void Execute()
        {
            var database = LogTile.DB;
            String query =
                "SELECT * FROM LogTile WHERE X BETWEEN @0 AND @1 AND Y BETWEEN @2 and @3 AND Date > @4 ORDER BY id DESC;";
            var events = new List<TileEvent>();
            using (var reader = database.QueryReader(query, ply.TileX - args.radius, ply.TileX + args.radius, ply.TileY - args.radius,
                                                     ply.TileY + args.radius, (LogTile.helper.GetTime() - args.since)))
            {
                while (reader.Read())
                {
                    var e = new TileEvent(reader.Get<int>("X"), reader.Get<int>("Y"),
                                          LogTile.helper.INTtoString(reader.Get<int>("IP")),
                                          reader.Get<string>("Name"),
                                          LogTile.helper.getAction(reader.Get<int>("Action")),
                                          reader.Get<int>("TileType"),
                                          reader.Get<int>("Date"));
                    events.Add(e);
                }
            }

            if (args.page <= 0)
            {
                ply.SendMessage("There are " + Math.Ceiling(events.Count / 7.0) + " pages. (" + events.Count + "edits)");
                for (var i = 0; i < Math.Min(6, events.Count); i++)
                {
                    ply.SendMessage(events[i].parseEvent());
                }
            }
            else if (events.Count > 0)
            {
            int index = 0;
            try
            {
                  for (var i = ((args.page - 1) * 7) - 1; i < Math.Min(args.page * 7 - 1, events.Count); i++)
                  {
            index = i;
                      ply.SendMessage(events[i].parseEvent());
                  }
            } // try
            catch ( ArgumentOutOfRangeException exception )
            {
              Console.WriteLine( string.Format( "Argument Range Exception! eventsCount: {0}, argsPage: {1}, i: {2}, ply: {3}",
                                            events.Count, args.page, index, ply.Name ) );
            } // catch
            }
            else
            {
                ply.SendMessage("No results found.", Color.Green);
            }
            ply.SendMessage("Edits made: " + events.Count, Color.Green);
        }
    void Start()
    {
        PlayerPrefs.DeleteAll();

        //Buat event
        cookiesEvent = new CookiesTileEvent(3);
        cakeEvent    = new CakeTileEvent(10);

        foreach (var poi in FindObjectsOfType <PointOfInterest>())
        {
            poi.RegisterObserver(this);
        }
    }
    public static void StopListening(string eventName, UnityAction <TaskableBase> listener)
    {
        if (instance == null)
        {
            return;
        }
        TileEvent thisEvent = null;

        if (instance.tileEventDictionary.TryGetValue(eventName, out thisEvent))
        {
            thisEvent.RemoveListener(listener);
        }
    }
    void Start()
    {
        PlayerPrefs.DeleteAll();
        ActivateAchievementBanner(false);

        cakeEvent     = new CakeTileEvent(5);
        candyEvent    = new CandyTileEvent(6);
        cookiesEvent  = new CookiesTileEvent(2);
        donutEvent    = new DonutTileEvent(3);
        lollipopEvent = new LollipopTileEvent(4);
        vitaminEvent  = new VitaminTileEvent(7);

        PointOfInterestWithEvent.OnPointOfInterestEntered += PointOfInterestWithEvent_OnPointOfInterestEntered;
    }
    public static void StartListening(string eventName, UnityAction <TaskableBase> listener)
    {
        TileEvent thisEvent = null;

        if (instance.tileEventDictionary.TryGetValue(eventName, out thisEvent))
        {
            thisEvent.AddListener(listener);
        }
        else
        {
            thisEvent = new TileEvent();
            thisEvent.AddListener(listener);
            instance.tileEventDictionary.Add(eventName, thisEvent);
        }
    }
Exemple #20
0
 public void CheckUI(TileEvent te)
 {
     tileEvent = te;
     popupUI.SetActive(true);
     popupUI.transform.GetChild(0).transform.GetChild(0).GetComponent <Text> ().text = te.GetNameE();
     popupUI.transform.GetChild(1).transform.GetChild(0).GetComponent <Text> ().text = te.GetDescription();
     if (tileEvent.GetTType().Equals("Void") || tileEvent.GetTType().Equals("Checked"))
     {
         popupUI.transform.GetChild(2).gameObject.SetActive(false);
     }
     else
     {
         popupUI.transform.GetChild(2).gameObject.SetActive(true);
     }
 }
Exemple #21
0
        void OnTileEvent(object sender, TileEvent e)
        {
            switch (e.Type)
            {
            case TileEventType.CompletedBuild:
                buildDisplay1.MarkCompleted(e.X, e.Y);
                break;

            case TileEventType.StartedBuild:
                buildDisplay1.MarkRunning(e.X, e.Y);
                break;

            case TileEventType.FailedBuild:
                buildDisplay1.MarkFailed(e.X, e.Y);
                break;
            }
        }
Exemple #22
0
    void Start()
    {
        PlayerPrefs.DeleteAll();
        ActivateAchievementBanner(false);

        cakeEvent     = new CakeTileEvent(5);
        candyEvent    = new CandyTileEvent(6);
        cookiesEvent  = new CookiesTileEvent(2);
        donutEvent    = new DonutTileEvent(3);
        lollipopEvent = new LollipopTileEvent(4);
        vitaminEvent  = new VitaminTileEvent(7);

        foreach (var point in FindObjectsOfType <PointOfInterest>())
        {
            point.RegisterObserver(this);
        }
    }
Exemple #23
0
        public override void Execute()
        {
            var database = LogTile.DB;
            String query =
                "SELECT * FROM LogTile WHERE X BETWEEN @0 AND @1 AND Y BETWEEN @2 and @3 AND Date > @4 ORDER BY id DESC;";
            var events = new List<TileEvent>();
            using (var reader = database.QueryReader(query, ply.TileX - args.radius, ply.TileX + args.radius, ply.TileY - args.radius,
                                                     ply.TileY + args.radius, (LogTile.helper.GetTime() - args.since)))
            {
                while (reader.Read())
                {
                    var e = new TileEvent(reader.Get<int>("X"), reader.Get<int>("Y"),
                                          LogTile.helper.INTtoString(reader.Get<int>("IP")),
                                          reader.Get<string>("Name"),
                                          LogTile.helper.getAction(reader.Get<int>("Action")),
                                          reader.Get<int>("TileType"),
                                          reader.Get<int>("Date"));
                    events.Add(e);
                }
            }

            if (args.page <= 0)
            {
                ply.SendMessage("There are " + Math.Ceiling(events.Count / 7.0) + " pages. (" + events.Count + "edits)");
                for (var i = 0; i < Math.Min(6, events.Count); i++)
                {
                    ply.SendMessage(events[i].parseEvent());
                }
            }
            else if (events.Count > 0)
            {
                for (var i = ((args.page - 1) * 7) - 1; i < Math.Min(args.page * 7 - 1, events.Count); i++)
                {
                    ply.SendMessage(events[i].parseEvent());
                }
            }
            else
            {
                ply.SendMessage("No results found.", Color.Green);
            }
            ply.SendMessage("Edits made: " + events.Count, Color.Green);
        }
Exemple #24
0
    public virtual void Initalize(GameObject button, PathNode node, Vector2Int gridPos)
    {
        if (!initialized)
        {
            gridButton = button.GetComponent <TileButton>();
            UpdateGridButtonPosition();
            gridButton.Deactivate();

            onEnter    = new TileEvent();
            onExit     = new TileEvent();
            onActivate = new TileEvent();

            neighbors    = new Dictionary <Direction, GridSpace>();
            pathNode     = node;
            gridPosition = gridPos;
            SetUpToolTips();

            initialized = true;
        }
    }
Exemple #25
0
        private static void HandleTileEvent(TileEvent tileEvent)
        {
            var manager = GlobalManager.GetManager <TileManager>();

            switch ((TileEvent.Events)tileEvent.Action)
            {
            case TileEvent.Events.PointerChanged:
                manager.PointerChanged((EventPointerChanged)tileEvent);
                break;

            case TileEvent.Events.TileMouseEvent:
                manager.TileMouseEvent((EventTileMouseEvent)tileEvent);
                break;

            case TileEvent.Events.MovementTypeChanged:
                manager.MovementTypeChanged((EventMovementTypeChanged)tileEvent);
                break;

            default:
                throw new ArgumentOutOfRangeException(string.Format("TileEvent '{0}' is not handled in the EventDispatcher.", tileEvent.Action));
            }
        }
Exemple #26
0
        public void UpdateOptionButtons(TileEvent eventToUpdate)
        {
            for (int i = 0; i < eventToUpdate.options.Length; i++)
            {
                Text optionButtonLabel = eventButtons.buttons[i].transform.GetComponentInChildren <Text>();
                optionButtonLabel.text = eventToUpdate.options[i].label;

                eventButtons.buttons[i].GetComponent <Image>().color = new Color(1f, 1f, 1f, 1f);
                optionButtonLabel.color = new Color(1f, 1f, 1f, 1f);

                if (eventToUpdate.options[i].nextEvent == null)
                {
                    continue;
                }

                if (!eventToUpdate.options[i].nextEvent.CanMove())
                {
                    eventButtons.buttons[i].GetComponent <Image>().color = new Color(0.5f, 0.5f, 0.5f, 1f);
                    optionButtonLabel.color = new Color(0.5f, 0.5f, 0.5f, 1f);
                }
            }
        }
Exemple #27
0
    // TileEvent

    public override void Dispatch(TileEvent tileEvent, Vector2Int desiredTilePosition, Character character)
    {
        _Tiles[desiredTilePosition.x, desiredTilePosition.y].OnTileEvent(tileEvent, character);
    }
Exemple #28
0
 public void NotifyileLoadStart(TileEvent eventArgs)
 {
     OnTileLoadStart?.Invoke(this, eventArgs);
 }
Exemple #29
0
 public void NotifyLoad(TileEvent eventArgs)
 {
     OnLoad?.Invoke(this, eventArgs);
 }
Exemple #30
0
 public override void Dispatch(TileEvent tileEvent, Vector2Int desiredTilePosition, Character character)
 {
 }
Exemple #31
0
 public abstract void Dispatch(TileEvent tileEvent, Vector2Int desiredTilePosition, Character character);
 public void AddTileEvent(TileEvent _TileEvent)
 {
     m_Events.Add(_TileEvent);
 }