Esempio n. 1
0
    public void OnEventMessageReceive(CharacterManager sender, EventMessage message)
    {
        switch (message.m_MessageType)
        {
        case EventMessage.MessageType.UPDATE_GOLD:
            CurrentMoney += message.m_IntParam;
            break;

        case EventMessage.MessageType.UPDATE_POWER:
            CurrentPower += message.m_IntParam;
            break;

        case EventMessage.MessageType.ACTIVATE_TILE:
            Vector2 senderPos = sender.Tile.Position;
            switch (message.m_Zone)
            {
            case EventMessage.TriggerZone.SELF:
                sender.ActivateCharacter();
                break;

            case EventMessage.TriggerZone.LEFT:
                TileManager concernedTile = m_BoardManager.Board.GetTile((int)senderPos.x - 1, (int)senderPos.y);
                if (concernedTile != null)
                {
                    concernedTile.ActivateCharacter();
                }
                break;
            }
            break;
        }
    }