Пример #1
0
    public override bool Load()
    {
        GameResources targetData = target as GameResources;

        var    client = new DatabaseClient("", "");
        string error  = string.Empty;
        var    db     = client.GetDatabase(targetData.SheetName, ref error);
        var    table  = db.GetTable <GameResourcesData>(targetData.WorksheetName) ?? db.CreateTable <GameResourcesData>(targetData.WorksheetName);

        List <GameResourcesData> myDataList = new List <GameResourcesData>();

        var all = table.FindAll();

        foreach (var elem in all)
        {
            GameResourcesData data = new GameResourcesData();

            data = Cloner.DeepCopy <GameResourcesData>(elem.Element);
            myDataList.Add(data);
        }

        targetData.dataArray = myDataList.ToArray();

        EditorUtility.SetDirty(targetData);
        AssetDatabase.SaveAssets();

        return(true);
    }
Пример #2
0
    private static void AfterSceneLoad()
    {
        // Initialize basic game systems.
        var userInterfaceSystem = new UserInterfaceSystem();
        var controlSystem       = new ControlSystem(resourcesData.gameplaySettings);
        var keysSystem          = new KeysSystem(resourcesData.stagePrefabs);
        var stageSystem         = new StageSystem(resourcesData.stagePrefabs, keysSystem);
        var ballSystem          = new BallSystem(resourcesData.ballPrefabs, stageSystem);
        var gameCurrencySystem  = new GameCurrencySystem(userInterfaceSystem);
        var monetizationSystem  = new MonetizationSystem(resourcesData.monetizationSettings, gameCurrencySystem);
        var shopSystem          = new ShopSystem(resourcesData.shopModel, ballSystem, gameCurrencySystem, monetizationSystem);

        // Initialize gameplay systems.
        var gameInteractionsSystem = new GameInteractionsSystem(ballSystem, keysSystem, stageSystem);
        var gameInterfaceSystem    = new GameInterfaceSystem(stageSystem, gameInteractionsSystem);

        // Register a proxy service for gameplay systems.
        var gameplaySystemsProxy = new GameplaySystemsProxy();

        gameplaySystemsProxy.Add(
            gameInteractionsSystem,
            gameInterfaceSystem);

        // Initialize the state machine system with all dependencies.
        var gameStateMachine = new GameStateMachine(
            gameplaySystemsProxy,
            userInterfaceSystem,
            controlSystem,
            stageSystem,
            ballSystem,
            keysSystem,
            gameCurrencySystem,
            monetizationSystem);

        // Preserve links to game services.
        var storage = new GameObject("[Game Services]").AddComponent <GameServices>();

        storage.Add(
            userInterfaceSystem,
            controlSystem,
            keysSystem,
            stageSystem,
            ballSystem,
            gameCurrencySystem,
            monetizationSystem,
            shopSystem);
        storage.Add(
            gameplaySystemsProxy,
            gameStateMachine);

        // Free the static reference to resources data - it's held by services from now.
        resourcesData = null;

        // Since there is only one scene in the project, we just link this very bootstrap script to the event of reloading scene.
        SceneManager.sceneLoaded += RebootOnNextSceneLoaded;
    }
        public void Init(MarketPlaceScreen marketPlaceScreen, TradeOffer offer)
        {
            this.offer = offer;

            playerFromTxt.text = offer.player.Name;
            GameResourcesData resource = DataManager.ResourcesData.dataArray[offer.productId];

            productOffer.Init(DataManager.ResourcePrefabs.GetResourceSprite(resource.ID), offer.amount);
            offerCost.text = offer.totalValue.ToString();

            buyBtn.onClick.AddListener(() => marketPlaceScreen.OpenBuyScreen(this, offer));
        }
Пример #4
0
 private static void BeforeSceneLoad()
 {
     // Load all game resources data.
     resourcesData = new GameResourcesData()
     {
         gameplaySettings     = Resources.Load <GameplaySettings>("GameplaySettings"),
         monetizationSettings = Resources.Load <MonetizationSettings>("MonetizationSettings"),
         ballPrefabs          = Resources.Load <BallPrefabs>("BallPrefabs"),
         stagePrefabs         = Resources.Load <StagePrefabs>("StagePrefabs"),
         shopModel            = Resources.Load <ShopModel>("ShopModel")
     };
 }
        private void CreateInputPopupItems(BuildingsData data)
        {
            if (data.Moneyinput != 0)
            {
                InstantiateNewPopupItem(DataManager.ResourcePrefabs.MoneySprite, -data.Moneyinput);
            }

            for (int i = 0; i < data.Resourceinput.Length; i++)
            {
                GameResourcesData resource = DataManager.ResourcesData.dataArray[data.Resourceinput[i]];
                InstantiateNewPopupItem(DataManager.ResourcePrefabs.GetResourceSprite(resource.ID), -data.Resourceinputamount[i]);
            }
        }