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); }
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)); }
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]); } }