private void CreateUpperPanel() { upperPanelObject = new GameObject("Upper Panel", typeof(UnityEngine.UI.Image)); upperPanelObject.GetComponent <RectTransform>().sizeDelta = new Vector2(Screen.width, Relative.UPPER_PANEL_HEIGTH); upperPanelObject.transform.position = new Vector2(Screen.width / 2f, Screen.height - Relative.UPPER_PANEL_HEIGTH / 2f); upperPanelObject.GetComponent <UnityEngine.UI.Image>().color = Color.black; upperPanelObject.transform.SetParent(infoObject.transform); backArrowImage = new Image.Builder() .SetName(Names.BACK_ARROW_ICON_NAME) .AddOnClickListener(History.GoBack) .SetImage(SpriteLoader.LoadSprite("back_arrow_ico")) .SetParent(upperPanelObject.transform) .SetSize(size: Vector2.one * Relative.BUTTON_HEIGHT, additionalClickableArea: 2f) .SetPosition(new Vector2(Relative.BUTTON_MARGIN + Relative.BUTTON_HEIGHT / 2f, Screen.height - Relative.BUTTON_MARGIN - Relative.BUTTON_HEIGHT / 2f)) .SetRotationPoint(UI.RotationPoint.Center) .build(); GameObject upperPanelText = new GameObject("Text", typeof(Text)); upperPanelText.transform.SetParent(upperPanelObject.transform); upperPanelText.GetComponent <RectTransform>().sizeDelta = new Vector2(Screen.width - 4 * Relative.BUTTON_MARGIN - Relative.BUTTON_HEIGHT / 2f, Relative.UPPER_PANEL_HEIGTH); upperPanelText.GetComponent <RectTransform>().position = new Vector2(Screen.width / 2f + 2 * Relative.BUTTON_MARGIN + Relative.BUTTON_HEIGHT / 4f, Screen.height - Relative.UPPER_PANEL_HEIGTH / 2f); upperPanelText.GetComponent <Text>().font = Resources.Load <Font>("fonts/Roboto-Regular"); upperPanelText.GetComponent <Text>().fontSize = Relative.SMALL_FONT_SIZE; upperPanelText.GetComponent <Text>().alignment = TextAnchor.MiddleLeft; upperPanelText.GetComponent <Text>().color = Color.white; upperPanelText.GetComponent <Text>().text = LocalizationManager.Instance.GetLocalizedValue("rock_fortress_city_tustan"); upperPanelObject.SetActive(false); scrollablePanelObject.GetComponent <ScrollRect>().onValueChanged.AddListener( (Vector2 value) => upperPanelObject.SetActive(value.y < textContentToAllRatio) ); }
private SpawnPattern InterperetPattern(JToken obj) { if (obj.Type == JTokenType.String) { return(presets[obj.ToString()]); } switch (obj["type"].ToString()) { case "spiral": return(new SpiralPattern(BulletManager.Instance.EnemyBullets, SpriteLoader.LoadSprite("redBullet"), obj["speed"].ToObject <float>(), obj["amount"].ToObject <int>(), obj["interval"].ToObject <double>(), obj["rotations"].ToObject <int>(), obj["distance"].ToObject <int>())); case "linear": return(new LinearPattern(BulletManager.Instance.EnemyBullets, SpriteLoader.LoadSprite("redBullet"), obj["speed"].ToObject <float>(), obj["amount"].ToObject <int>(), obj["interval"].ToObject <double>())); case "surround": return(new SurroundPattern(BulletManager.Instance.EnemyBullets, SpriteLoader.LoadSprite("redBullet"), obj["speed"].ToObject <float>(), obj["amount"].ToObject <int>(), obj["interval"].ToObject <float>(), obj["fireCount"].ToObject <int>())); case "rotate": return(new RotateScreenPattern(obj["rotationSpeed"].ToObject <float>(), obj["pauseDelay"].ToObject <float>())); case "flipX": return(new FlipXScreenPattern(obj["rotationSpeed"].ToObject <float>(), obj["pauseDelay"].ToObject <float>())); case "flipY": return(new HorizontalRotationPattern(obj["rotationSpeed"].ToObject <float>(), obj["pauseDelay"].ToObject <float>())); case "none": return(new NoShootPattern(BulletManager.Instance.EnemyBullets, obj["time"].ToObject <double>())); } return(null); }
public void Update(GameTime gameTime) { GameScore score = GameScore.Instance; uint diff = score.Score - lastScore; if (diff > 1000) { lastScore = score.Score; Random rand = new Random(); Vector2 position = new Vector2(rand.Next(1, 1500), rand.Next(1, 1080)); SeismicCharge charge = new SeismicCharge(SpriteLoader.LoadSprite("sesmic_charge"), MovementFactory.Create("Stationary", 0, new List <Vector2>() { position })); ItemsManager.Instance.Add(charge); } foreach (SeismicCharge charge in this.deployedBombs) { if (charge.IsAlive) { charge.Update(gameTime); } } this.deployedBombs.RemoveAll(s => !s.IsAlive); // clean up }
public static SpriteN Create(string type) { switch (type) { case "seismic": return SpriteLoader.LoadSprite("sesmic_charge"); default: throw new NotImplementedException("other types of items are not supported"); } }
private IEnumerator CaptureScreenshot() { Runtime.makeScreenshotButton.SetColor(Color.grey); string screenshot_name = "screenshot_" + DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss_fff"); int bottom_margin = (int)(Relative.LOWER_PANEL_HEIGHT); int top_margin = Screen.height - (int)(new DP(48f)); // upper panel height ScreenshotManager.SCREENSHOT_PROCESSING = true; NativeAdapter.Instance.MakeScreenshot(screenshot_name, bottom_margin, top_margin, Input.deviceOrientation); while (ScreenshotManager.SCREENSHOT_PROCESSING) { yield return(null); } Runtime.makeScreenshotButton.SetColor(Color.white); #if UNITY_ANDROID IDialog id = new Dialog.Builder() .SetIcon(SpriteLoader.LoadSprite("share_ico")) .SetButton(LocalizationManager.Instance.GetLocalizedValue("ok"), () => { NativeAdapter.Instance.ShareFile(LocalizationManager.Instance.GetLocalizedValue("share_image_using"), LocalizationManager.Instance.GetLocalizedValue("share_play_store") + " " + Config.urlToPlayStore, ScreenshotManager.SCREENSHOT_PATH, "image/jpeg"); }) .SetText(LocalizationManager.Instance.GetLocalizedValue("screenshot_captured")) .SetView(Relative.CAMERA_WINDOW_RECT) .build(); id.show(); yield return(new WaitForSeconds(3f)); if (id != null && id.isActive) { id.dismiss(); } #elif UNITY_IOS if (ScreenshotManager.SCREENSHOT_PROCESSING_ERROR) { IDialog id = new Dialog.Builder() .SetIcon(SpriteLoader.LoadSprite("share_ico")) .SetButton(LocalizationManager.Instance.GetLocalizedValue("ok"), () => {}) .SetText(ScreenshotManager.SCREENSHOT_ERROR_MESSAGE) .SetView(Relative.CAMERA_WINDOW_RECT) .build(); id.show(); yield return(new WaitForSeconds(3f)); if (id != null && id.isActive) { id.dismiss(); } } #endif }
private void CreateXIcon() { xIconImage = new Image.Builder() .SetName(Names.X_ICON_NAME) .AddOnClickListener(History.GoBack) .SetImage(SpriteLoader.LoadSprite("back_arrow_ico")) .SetParent(infoObject.transform) .SetSize(size: Vector2.one * Relative.BUTTON_HEIGHT, additionalClickableArea: 3f) .SetPosition(new Vector2(Relative.BUTTON_MARGIN + Relative.BUTTON_HEIGHT / 2f, Screen.height - (Relative.BUTTON_MARGIN + Relative.BUTTON_HEIGHT / 2f))) .SetRotationPoint(RotationPoint.Center) .build(); }
public static Item Create(string type, Vector2 position) { switch (type) { case "seismic": return(new SeismicCharge(SpriteLoader.LoadSprite("sesmic_charge"), MovementFactory.Create("Stationary", 0, new List <Vector2>() { position }))); default: throw new NotImplementedException("other types of items are not supported"); } }
// damage - placeDelay - bombTimer public Bomb(float dmg, float bombTimer, int currentBombType) { this.Damage = dmg; //this.PlaceSpeed = placeDelay; this.IgnitionDuration = bombTimer; CurrentBombType = currentBombType; // Loading default bomb texture this.ProjectileSprite = SpriteLoader.LoadSprite(Resources.bomb, new IntRect(0, 0, 64, 64)); this.Origin = SpriteUtils.GetSpriteCenter(ProjectileSprite); // Loading explosion texture this.ExplosionSprite = SpriteLoader.LoadSprite(Resources.explosionSmall, new IntRect(0, 0, 64, 64)); this.Texture = ExplosionSprite.Texture; }
public static SpriteN Create(string type) { switch (type) { case "B": return(SpriteLoader.LoadSprite("enemy2")); case "MB": return(SpriteLoader.LoadSprite("mid-boss")); case "FB": return(SpriteLoader.LoadSprite("final-boss")); default: return(SpriteLoader.LoadSprite("enemy1")); } }
string ReceiveCraftingItem(string itemName) { TextAsset jsonData = InventoryManager.itemsJsonFile; Items values = JsonUtility.FromJson <Items>(jsonData.text); foreach (Item i in values.items) { if (itemName == i.spriteName) { referenceObject.GetComponent <AudioPlayer>().PlaySound(6); referenceObject.GetComponent <InventoryManager>().AddItem( i.spriteName, SpriteLoader.LoadSprite(itemName), i.name, i.description, i.value, 1, i.usableItem, i.healing, -1); return(i.spriteName); } } return(null); }
public void PrimeCharge(TimeSpan time) { Timer timer = new Timer(time.TotalMilliseconds); timer.AutoReset = false; timer.Elapsed += (a, e) => { this.isPrimed = true; this.Sprite = SpriteLoader.LoadSprite("shockwave"); originalSize = waveSize = (float)(this.Sprite.Texture.Width > this.Sprite.Texture.Height ? Sprite.Texture.Height : Sprite.Texture.Width); float r = (float)(this.Sprite.Texture.Width > this.Sprite.Texture.Height ? Sprite.Texture.Height : Sprite.Texture.Width); var p = Position; this.hitCircle = new HitCircle(p, r / 2); SoundManager managerRef = SoundManager.Instance; VolumeManager volumeManager = VolumeManager.Instance; managerRef.Explosion1.Play(volume: volumeManager.SoundLevel, pitch: 0.0f, pan: 0.0f); }; timer.Start(); }
private void CreateIcons() { // Warning: outOfMapIconObject must be created before UI buttons!!! in this case it won't overlay them on the screen outOfMapIconImage = new Image.Builder() .SetName(Names.OUT_OF_MAP_ICON_NAME) .SetImage(outOfMapIcon) .SetParent(mapWindow.transform) .SetSize(Vector2.one * Relative.OUT_OF_MAP_ARROW_LENGH) .SetActive(false) .build(); locationIconImage = new Controls.Image.Builder() .SetName(Names.LOCATION_ICON_NAME) .SetImage(SpriteLoader.LoadSprite("marker_user")) .SetParent(mapWindow.transform) .SetSize(new Vector2(Relative.MARKER_ICON_WIDTH, Relative.MARKER_ICON_HEIGHT)) .SetRotationPoint(RotationPoint.Center) .SetActive(false) .build(); }
private void CreateUpperPanel() { GameObject upperPanelObject = new GameObject(Names.UPPER_PANEL_NAME, typeof(UnityEngine.UI.Image)); upperPanelObject.GetComponent <RectTransform>().sizeDelta = new Vector2(Screen.width, Relative.UPPER_PANEL_HEIGTH); upperPanelObject.transform.position = new Vector2(Screen.width / 2f, Screen.height - Relative.UPPER_PANEL_HEIGTH / 2f); upperPanelObject.GetComponent <UnityEngine.UI.Image>().color = Color.black; upperPanelObject.transform.SetParent(cameraWindow.transform); new UI.Controls.Image.Builder() .SetName(Names.MAP_BUTTON_NAME) .AddOnClickListener(MapManager.Instance.ShowMap) .SetImage(SpriteLoader.LoadSprite("map_ico")) .SetParent(upperPanelObject.transform) .SetSize(size: Vector2.one *Relative.BUTTON_HEIGHT, additionalClickableArea: 2f) .SetPosition(new Vector2(Screen.width - Relative.BUTTON_HEIGHT - 3 * Relative.BUTTON_MARGIN - Relative.BUTTON_HEIGHT / 2f, Screen.height - Relative.BUTTON_MARGIN - Relative.BUTTON_HEIGHT / 2f)) .SetRotationPoint(UI.RotationPoint.Center) .build(); new UI.Controls.Image.Builder() .SetName(Names.INFO_BUTTON_NAME) .AddOnClickListener(InfoManager.Instance.ShowInfo) .SetImage(SpriteLoader.LoadSprite("info_ico")) .SetParent(upperPanelObject.transform) .SetSize(size: Vector2.one *Relative.BUTTON_HEIGHT, additionalClickableArea: 2f) .SetPosition(new Vector2(Screen.width - Relative.BUTTON_MARGIN - Relative.BUTTON_MARGIN / 2f - Relative.BUTTON_HEIGHT / 2f, Screen.height - Relative.BUTTON_MARGIN - Relative.BUTTON_HEIGHT / 2f)) // Relative.BUTTON_MARGIN / 2f in width is additional .SetRotationPoint(UI.RotationPoint.Center) .build(); Runtime.resetExtendedTrackingButton = new UI.Controls.Image.Builder() .SetName(Names.RESET_EXTENDED_TRACKING_BUTTON) .AddOnClickListener(ExtendedTrackingBehaviour.ResetExtendedTracking) .SetImage(SpriteLoader.LoadSprite("reset_ico")) .SetParent(upperPanelObject.transform) .SetSize(size: Vector2.one * Relative.BUTTON_HEIGHT, additionalClickableArea: 2f) .SetPosition(new Vector2(Screen.width - Relative.BUTTON_MARGIN - Relative.BUTTON_MARGIN / 2f - Relative.BUTTON_HEIGHT / 2f, Screen.height - Relative.UPPER_PANEL_HEIGTH - Relative.BUTTON_MARGIN - Relative.BUTTON_HEIGHT / 2f)) // Relative.BUTTON_MARGIN / 2f in width is additional .SetRotationPoint(UI.RotationPoint.Center) .SetActive(false) .build() .gameObject; }
public void ShowMap() { markerImages = new List <IImage>(); mapWindow = new GameObject(Names.MAP_WINDOW_NAME); mapWindow.transform.SetParent(Runtime.canvas.transform); mapWindow.transform.localPosition = Vector3.zero; InstantiateMapToFullScreen(); CreateMarkers(); CreateIcons(); CreateUpperPanel(); UpdateMarkersLocation(); if (!Input.location.isEnabledByUser) { if (!gps_off_message_shown) { new Controls.Dialog.Builder() .SetIcon(SpriteLoader.LoadSprite("compas_ico")) .SetButton(LocalizationManager.Instance.GetLocalizedValue("ok"), NativeAdapter.Instance.GoToGPSSettings) .SetText(LocalizationManager.Instance.GetLocalizedValue("gps_disabled")) .SetView(Relative.MAP_WINDOW_RECT) .build() .show(); gps_off_message_shown = true; } } else { gps_off_message_shown = false; } UpdateLocation(Input.location.lastData); History.AddWindow(this); }
private void CreateLowerPanel() { /* LOWER PANEL */ GameObject lowerPanelObject = new GameObject(Names.LOWER_PANEL_NAME, typeof(UnityEngine.UI.Image)); UnityEngine.UI.Image lowerPanelImage = lowerPanelObject.GetComponent <UnityEngine.UI.Image>(); lowerPanelImage.color = Color.black; RectTransform lowerPanelRT = lowerPanelObject.GetComponent <RectTransform>(); lowerPanelRT.sizeDelta = new Vector2(Screen.width, Relative.LOWER_PANEL_HEIGHT); lowerPanelRT.position = new Vector2(Screen.width, Relative.LOWER_PANEL_HEIGHT) / 2f; lowerPanelRT.SetParent(cameraWindow.transform); // "make photo" button Runtime.makeScreenshotButton = new Image.Builder() .SetName(Names.CAPTURE_SCREENSHOT_BUTTON_NAME) .AddOnClickListener(Runtime.canvas.GetComponent <ScreenshotManager>().Capture) .SetImage(SpriteLoader.LoadSprite("shutter_ico")) .SetParent(lowerPanelRT) .SetSize(size: Vector2.one * Relative.MAKE_PHOTO_BUTTON_HEIGHT, additionalClickableArea: 1.5f) .SetPosition(new Vector2(Screen.width / 2f, Relative.LOWER_PANEL_HEIGHT / 2f)) .SetRotationPoint(RotationPoint.Center) .build(); // "revert camera" button new Image.Builder() .SetName(Names.REVERT_CAMERA_BUTTON_NAME) .AddOnClickListener(OnRevertCamera) .SetImage(SpriteLoader.LoadSprite("camera_ico")) .SetParent(lowerPanelRT) .SetSize(size: Vector2.one *Relative.BUTTON_HEIGHT, additionalClickableArea: 3f) .SetPosition(new Vector2(Screen.width / 4f, Relative.LOWER_PANEL_HEIGHT / 2f)) .SetRotationPoint(UI.RotationPoint.Center) .build(); Runtime.playButton = new UI.Controls.Image.Builder() .SetName("Play Button") .SetImage(SpriteLoader.LoadSprite("play_ico")) .SetParent(lowerPanelRT) .AddOnClickListener(delegate(){ Runtime.pauseButton.gameObject.SetActive(true); AnimationHandler.ANIMATION_ENABLED = true; Runtime.playButton.gameObject.SetActive(false); }) .SetSize(size: Vector2.one *Relative.BUTTON_HEIGHT, additionalClickableArea: 3f) .SetPosition(new Vector2(3 * Screen.width / 4f, Relative.LOWER_PANEL_HEIGHT / 2f)) .SetRotationPoint(RotationPoint.Center) .SetActive(false) .build() .gameObject; Runtime.pauseButton = new UI.Controls.Image.Builder() .SetName("Pause Button") .SetImage(SpriteLoader.LoadSprite("pause_ico")) .SetParent(lowerPanelRT) .AddOnClickListener(delegate(){ Runtime.playButton.gameObject.SetActive(true); AnimationHandler.ANIMATION_ENABLED = false; Runtime.pauseButton.gameObject.SetActive(false); }) .SetSize(size: Vector2.one *Relative.BUTTON_HEIGHT, additionalClickableArea: 3f) .SetPosition(new Vector2(3 * Screen.width / 4f, Relative.LOWER_PANEL_HEIGHT / 2f)) .SetRotationPoint(RotationPoint.Center) .SetActive(false) .build() .gameObject; }
public void Run() { // Initializing the tilemap facade tileMapFacade = new TileMapFacade((int)VideoResolution[0], (int)VideoResolution[1], Properties.Resources.spritesheet2); BindKeys(); _boardBuilder = new BoardBuilder(); ConfigureHubConnections(); // Wall box _boxWall = SpriteLoader.LoadSprite(Properties.Resources.DesolatedHut, new IntRect(0, 0, 100, 100)); _boxWall.Position = new Vector2f(250, 250); _boxWall.Scale = new Vector2f(0.5f, 0.5f); // UI score object _renderWindow = CreateRenderWindow(Styles.Default); _renderWindow.SetFramerateLimit(60); _renderWindow.SetActive(); scoreBoard = new GameScore(_renderWindow, otherPlayers, mainPlayer.connectionId); _debugGui = new DebugGUI(_renderWindow); execRTCounter(); // sync with server // Player postion from left, top (x, y) var coordText = new Text("", new Font(Properties.Resources.arial)); coordText.CharacterSize = 20; coordText.Position = new Vector2f(10, 10); // BombKey [SPACE] event handler _renderWindow.KeyPressed += new EventHandler <KeyEventArgs>(OnKeyPressed); // damage - placeDelay - bombTimer mainPlayer.Bomb = new Bomb(20, 2500, 0); // Chain object init // connecting chains chainLogger.setNextLogger(chainLogger2); chainLogger2.setNextLogger(chainLogger3); float RespawnPause = 0f; while (_renderWindow.IsOpen) { Time deltaTime = FrameClock.Restart(); // Requesting refresh data from server at every new frame _userHubConnection.InvokeAsync("RefreshPlayer", new PlayerDTO() { connectionId = mainPlayer.connectionId, position = mainPlayer.GetPointPosition(), IsDead = mainPlayer.IsDead }).Wait(); _renderWindow.DispatchEvents(); // event handler to processes keystrokes/mouse movements _renderWindow.Clear(); // TILES _renderWindow.Draw(tileMapFacade.GetTileMap()); if (!ghostDead) { foreach (var enemy in _boardBuilder._enemies) { var sprite = enemy.getSprite(); _renderWindow.Draw(sprite); } } foreach (Player p in otherPlayers) { if (!p.IsDead) { _renderWindow.Draw(p); } } if (!mainPlayer.IsDead) { _renderWindow.Draw(mainPlayer); //DEBUG - RED FRAME _renderWindow.Draw(mainPlayer.DrawFrame()); } // Update drawable destructor timers UpdateLoop(deltaTime); // BOMBS mainPlayer.Update(); // Update projectile placement positions (bombs) DrawLoop(); // Draw projectile buffer list // RESPAWN ROUTINE /*if(RespawnPause > 0) * RespawnPause -= deltaTime.AsSeconds();*/ /*if (mainPlayer.CheckDeathCollisions() && RespawnPause <= 0f) // if collided with flames? * { * RespawnPause = 2f; * scoreBoard.UpdateScore("P1"); * }*/ // Print player coordinates left, top (x, y) coordText.DisplayedString = $"x {mainPlayer.Position.X} y {mainPlayer.Position.Y}"; _renderWindow.Draw(coordText); _renderWindow.Draw(scoreBoard); _renderWindow.Draw(_debugGui); if (_renderWindow.HasFocus()) // if window is focused { InputControl(); } _renderWindow.Display(); // update screen } }
public void Init() { this.infoTitleBackground = SpriteLoader.LoadSprite("castle_background"); }
public WorldEditorTerrainToolsViewModel(IPackageRepository repository, SpriteLoader spriteLoader) { this._repository = repository; this._spriteLoader = spriteLoader; this._isGridVisible = false; this._tiles = new ObservableCollection<TileViewModel>(); foreach (var asset in repository.Assets.Where(x => x.Type == EditorAssetTypes.TerrainTileDefinition).OrderBy(x => x.Key)) { var tileData = _repository.GetAssetData<TerrainTileDefinitionResource>(asset.Id); _tiles.Add(new TileViewModel() { Key = tileData.Key, Sprite = _spriteLoader.LoadSprite(tileData.SpriteKey) }); } this.SelectedTile = _tiles.FirstOrDefault(); this.SelectedTool = TerrainEditorTools.Paint; SetToolCommand = new DelegateCommand<String>(x => { if (x == "Fill") SelectedTool = TerrainEditorTools.Fill; else if (x == "Paint") SelectedTool = TerrainEditorTools.Paint; else if (x == "EyeDropper") SelectedTool = TerrainEditorTools.EyeDropper; }); }
public void LoadGameObjectTransform() { File.ReadAllText(Application.dataPath + "/Resources/save.txt"); StreamReader tr = new StreamReader(Application.dataPath + "/Resources/save.txt", true); string[] values = tr.ReadLine().Trim().Split('%'); tr.Close(); gameObjectTransforms = new Dictionary <string, Vector3>(); objectsWithStatusesList = new Dictionary <string, int>(); uniqueObjectsList = new Dictionary <string, GameObject>(); destroyableObjectsList = new Dictionary <string, GameObject>(); questGiverValues = new Dictionary <string, string[]>(); // string[] parsedGameObjects = values[0].Split('^'); foreach (string s in parsedGameObjects) { if (s.Length > 0) { string vectors = s.Split('#')[1]; vectors = vectors.Remove(0, 1); vectors = vectors.Remove(vectors.Length - 1, 1); string[] vList = vectors.Split(','); gameObjectTransforms.Add(s.Split('#')[0], new Vector3(float.Parse(vList[0].Trim(), CultureInfo.InvariantCulture), float.Parse(vList[1].Trim(), CultureInfo.InvariantCulture), float.Parse(vList[2].Trim(), CultureInfo.InvariantCulture))); } } string[] parsedObjectsStatuses = values[1].Split('^'); foreach (string s in parsedObjectsStatuses) { if (s.Length > 0) { objectsWithStatusesList.Add(s.Split('#')[0], Int32.Parse(s.Split('#')[1])); } } string[] parsedUniqueObjects = values[2].Split('^'); foreach (string s in parsedUniqueObjects) { if (s.Length > 0) { uniqueObjectsList.Add(s, new GameObject()); } } string[] parsedDestroyableObjects = values[3].Split('^'); foreach (string s in parsedDestroyableObjects) { if (s.Length > 0) { destroyableObjectsList.Add(s, new GameObject()); } } string[] parsedQuestGivers = values[4].Split('^'); foreach (string s in parsedQuestGivers) { if (s.Length > 0) { string[] vList = s.Split('#'); questGiverValues.Add(vList[0], new string[] { vList[1], vList[2], vList[3] }); } } string[] parsedItems = values[6].Split('^'); List <Item> loadedItemsInInventory = new List <Item>(); foreach (string s in parsedItems) { if (s == "EMPTY") { loadedItemsInInventory.Add(null); } else { TextAsset jsonData = InventoryManager.itemsJsonFile; Items v = JsonUtility.FromJson <Items>(jsonData.text); foreach (Item i in v.items) { if (s == i.spriteName) { loadedItemsInInventory.Add(new Item(i.spriteName, i.name, i.description, i.value, i.quantity, SpriteLoader.LoadSprite(i.spriteName), i.usableItem, i.healing)); } } } } // foreach (GameObject gObject in gameObjects) { gObject.transform.position = gameObjectTransforms[gObject.name]; } foreach (GameObject gObject in objectsWithStatuses) { if (gObject.name == "Campfire") { gObject.GetComponent <CampfireInteractionManager>().status = objectsWithStatusesList[gObject.name]; gObject.GetComponent <CampfireInteractionManager>().ManageStatus(); } } foreach (GameObject g in uniqueObjects) { if (!uniqueObjectsList.ContainsKey(g.name)) { Destroy(g); } } foreach (GameObject g in destroyableObjects) { if (!destroyableObjectsList.ContainsKey(g.name)) { Destroy(g); } } foreach (GameObject g in questGivers) { g.GetComponent <Quest_Manager>().questName = questGiverValues[g.name][0]; g.GetComponent <Quest_Manager>().questAvailable = (questGiverValues[g.name][1] == "true" ? true : false); g.GetComponent <Quest_Manager>().noRequirementQuestStarted = (questGiverValues[g.name][2] == "true" ? true : false); } InventoryManager.itemsInInventory = loadedItemsInInventory; inCaves = values[7] == "True" ? true : false; if (inCaves) { ambientPlayer.GetComponent <AudioSource>().clip = cavesTheme; ambientPlayer.GetComponent <AudioSource>().Play(); } else { ambientPlayer.GetComponent <AudioSource>().clip = seaTheme; ambientPlayer.GetComponent <AudioSource>().Play(); } load = false; }
// damage - placeDelay - bombTimer public SuperBomb() : base(20, 2000, (int)BombType.SuperBomb) { this.ProjectileSprite = SpriteLoader.LoadSprite(Resources.superbomb, new IntRect(0, 0, 64, 64)); this.Origin = SpriteUtils.GetSpriteCenter(ProjectileSprite); //this.CurrentBombType = (int)BombType.SuperBomb; }