Example #1
0
    private void ResourceUpdate(strange.extensions.dispatcher.eventdispatcher.api.IEvent data)
    {
        List <ResourceModel> resources = data.data as List <ResourceModel>;

        if (resources != null)
        {
            int  count   = 0;
            bool isFound = false;

            foreach (ResourceModel resourceModel in resources)
            {
                if (resourceModel != null && resourceType == resourceModel.ObjectType)
                {
                    isFound = true;
                    count++;
                    resourceTypeText.text = resourceType.ToString() + " " + count.ToString();
                }
            }

            if (!isFound)
            {
                resourceTypeText.text = resourceType.ToString() + " " + 0;
            }
        }
    }
Example #2
0
    private void GiveTile(strange.extensions.dispatcher.eventdispatcher.api.IEvent data)
    {
        if (tilePool != null)
        {
            TileModel tile = data.data as TileModel;

            if (tile != null)
            {
                if (tilePool.ContainsKey(tile.TileType))
                {
                    if (tilePool[tile.TileType] != null && tilePool[tile.TileType].Count > 0)
                    {
                        GameObject tileGameObject = tilePool[tile.TileType][0];

                        if (tileGameObject != null)
                        {
                            TileView tileView = tileGameObject.GetComponent <TileView>();

                            if (tileView != null)
                            {
                                tileView.Init(tile);
                            }

                            dispatcher.Dispatch(RootEvents.E_TileSetToWorld, tileGameObject);

                            tilePool[tile.TileType].Remove(tileGameObject);
                        }

                        else
                        {
                            Debug.LogError("tileGameObject == NULL");
                        }
                    }

                    else
                    {
                        Debug.LogError(string.Format("tilePool[{0}] == NULL", tile.TileType.ToString()));
                    }
                }

                else
                {
                    Debug.LogError(string.Format("tilePool not Contains {0} key", tile.TileType.ToString()));
                }
            }

            else
            {
                Debug.LogError("tile == NULL");
            }
        }

        else
        {
            Debug.LogError("tilePool == NULL");
        }
    }
Example #3
0
    private void OnWorldBuildComplete(strange.extensions.dispatcher.eventdispatcher.api.IEvent data)
    {
        bool isUpsideDown = (bool)data.data;

        if (isUpsideDown)
        {
            Action <Vector2> callBack = PlayerPositionGetCallBack;

            dispatcher.Dispatch(RootEvents.E_PlayerPositionGet, callBack);
        }
    }
Example #4
0
    private void OnInventoryButtonByKey(strange.extensions.dispatcher.eventdispatcher.api.IEvent data)
    {
        InputActionStateModel inputActionModel = data.data as InputActionStateModel;

        if (inputActionModel != null)
        {
            if (inputActionModel.InputAction == InputActionEnum.InventoryOpen &&
                inputActionModel.InputState == InputStateEnum.Down)
            {
                OnInventoryButton();
            }
        }
    }
Example #5
0
    private void GivePlayerPosition(strange.extensions.dispatcher.eventdispatcher.api.IEvent data)
    {
        Action <Vector2> callBack = data.data as Action <Vector2>;

        if (callBack != null)
        {
            callBack.Invoke(playerPosition);
        }
        else
        {
            Debug.LogError("CallBack == NULL");
        }
    }
Example #6
0
    private void OnPlayerNewPosition(strange.extensions.dispatcher.eventdispatcher.api.IEvent data)
    {
        Vector2 playerPosition = (Vector2)data.data;

        if (tilesWorld.ContainsKey(playerPosition))
        {
            TileView tileView = tilesWorld[playerPosition][0].gameObject.GetComponent <TileView>();

            if (tileView != null)
            {
                dispatcher.Dispatch(RootEvents.E_PlayerUpdate, tileView);
                GiveTyle();
            }
        }
    }
Example #7
0
    private void ReceiveTile(strange.extensions.dispatcher.eventdispatcher.api.IEvent data)
    {
        TileView tile = data.data as TileView;

        if (tile != null)
        {
            if (tilePool.ContainsKey(tile.TileType))
            {
                tilePool[tile.TileType].Add(tile.gameObject);
                tile.gameObject.transform.parent        = gameObject.transform;
                tile.gameObject.transform.localPosition = Vector2.zero;
            }

            else
            {
                Debug.LogError(string.Format("tilePool not Contains {0} key", tile.TileType.ToString()));
            }
        }
    }
Example #8
0
    public void PlayerUpdate(strange.extensions.dispatcher.eventdispatcher.api.IEvent data)
    {
        TileView tileView = (TileView)data.data;

        bool isFoolRebuild = false;

        if (gameObject.transform.position.x < 0 || gameObject.transform.position.y < 0)
        {
            isFoolRebuild = true;
        }

        playerPosition                = tileView.Position;
        unityWorldPlayerPosition      = tileView.Position;
        gameObject.transform.position = unityWorldPlayerPosition;

        InventoryUpdate(tileView.Resources);

        //Debug.LogError(inventory.Count);

        dispatcher.Dispatch(RootEvents.E_TileWorldCreate, playerPosition);
    }
Example #9
0
    private void ReceiveTile(strange.extensions.dispatcher.eventdispatcher.api.IEvent data)
    {
        if (tilesWorld != null)
        {
            GameObject tileGameObject = data.data as GameObject;

            if (tileGameObject != null)
            {
                TileView tile = tileGameObject.GetComponent <TileView>();

                if (tile != null)
                {
                    if (!tilesWorld.ContainsKey(tile.UnityWorldPosition))
                    {
                        tilesWorld.Add(tile.UnityWorldPosition, new List <GameObject>()
                        {
                            tileGameObject
                        });
                    }

                    tileGameObject.transform.position = tile.UnityWorldPosition;
                    tileGameObject.transform.parent   = gameObject.transform;

                    tile.OnSpawn();
                }
            }

            else
            {
                Debug.LogError("tileGameObject == NULL");
            }
        }

        else
        {
            Debug.LogError("tilesWorld == NULL");
        }
    }
Example #10
0
    private void OnInputAction(strange.extensions.dispatcher.eventdispatcher.api.IEvent data)
    {
        InputActionStateModel inputActionModel = data.data as InputActionStateModel;

        if (inputActionModel != null)
        {
            if (!inputAcion.Contains(inputActionModel.InputAction))
            {
                inputAcion.Add(inputActionModel.InputAction);
            }

            else
            {
                if (inputActionModel.InputState == InputStateEnum.Up)
                {
                    inputAcion.Remove(inputActionModel.InputAction);
                    return;
                }
            }


            if (!isMovedOnThisFrame)
            {
                switch (inputAcion[inputAcion.Count - 1])
                {
                case InputActionEnum.MoveUp:
                    playerPosition += Vector2.up * playerSpeed * Time.deltaTime;
                    break;

                case InputActionEnum.MoveDown:
                    playerPosition += Vector2.down * playerSpeed * Time.deltaTime;
                    break;

                case InputActionEnum.MoveLeft:
                    playerPosition += Vector2.left * playerSpeed * Time.deltaTime;
                    break;

                case InputActionEnum.MoveRight:
                    playerPosition += Vector2.right * playerSpeed * Time.deltaTime;
                    break;

                default:
                    break;
                }

                gameObject.transform.position = playerPosition;

                isMovedOnThisFrame = true;

                waitForNewFreameCoroutine = StartCoroutine(WaitForNewFrame());

                Vector2 newPos = new Vector2(gameObject.transform.position.x - unityWorldPlayerPosition.x, gameObject.transform.position.y - unityWorldPlayerPosition.y);

                if (Math.Abs(newPos.x) > 1f || Math.Abs(newPos.y) > 1f)
                {
                    newPos = new Vector2(unityWorldPlayerPosition.x + (int)newPos.x, unityWorldPlayerPosition.y + (int)newPos.y);

                    dispatcher.Dispatch(RootEvents.E_PlayerNewPosition, newPos);
                }
            }
        }
    }