void CreateItems() { itemsLeftText.text = GameState.CurrentRound.itemPicks + " Left"; foreach (Transform child in imageList.transform) { Destroy(child.gameObject); } Show(); foreach (FreeMovable item in GameState.Instance.rounds[GameState.Instance.Round - 1].items) { if (item == null) { continue; } SpriteRenderer sr = item.GetComponent <SpriteRenderer>(); GameObject newItem = Instantiate(rawImageTemplate); RawImage riUI = newItem.GetComponent <RawImage>(); riUI.texture = sr.sprite.texture; IconScript iconscript = newItem.GetComponent <IconScript>(); iconscript.attachedItem = item; iconscript.SetIcon(); iconscript.ItemsLeftText = itemsLeftText; riUI.transform.SetParent(imageList.transform, false); } }
public void UpdateDescription() { //sets the apperance of the window to match the selected item if (itemIcons.selectedButton) { equipButton.active = true; IconScript itemScript = itemIcons.selectedButton.GetComponent <IconScript>(); if (itemScript.individualItem == inventory.Hand) //if selected item is held the equip button is already pressed { equipButton.currState = EquipButton.ButtonState.Selected; } else { equipButton.currState = EquipButton.ButtonState.Idle; } descName.text = itemScript.itemName; descDesc.text = itemScript.description.Replace("<br>", "\n"); equipButton.ButtonUpdate(); } else //if nothing is selected make the window empty and the equip button unclickable { equipButton.active = false; equipButton.currState = EquipButton.ButtonState.Hover; descName.text = ""; descDesc.text = ""; equipButton.ButtonUpdate(); } }
void OnMouseOver() { //overObject = true; // On clicking object, set icon positions to object center, // then make them visible and scale them to full size while // moving out from center if (Input.GetMouseButtonDown(0)) { if (objectPropertiesScript.isBackground == true) { iconHandlerScript.beingUsed = false; } else if (objectPropertiesScript.visible == true) { iconHandlerScript.startPos = this.transform.position; iconHandlerScript.beingUsed = true; iconHandlerScript.firstClicked = true; // get the icon scripts lookIconScript = iconHandlerScript.lookIcon.GetComponent <IconScript>(); useIconScript = iconHandlerScript.useIcon.GetComponent <IconScript>(); storeIconScript = iconHandlerScript.storeIcon.GetComponent <IconScript>(); // set the linked object of the icon scripts to be the currently // click object lookIconScript.linkedObject = this.gameObject; useIconScript.linkedObject = this.gameObject; storeIconScript.linkedObject = this.gameObject; } } }
/// <summary> /// Make a place new IconScript for AbstractObject. /// If AbstractObject has his own coordinats != 1, the game will use them /// </summary> /// <param name="x"> coordinat of free space </param> /// <param name="y"> coordinat of free space </param> /// <param name="itm"> source </param> /// <returns> new IconScript object </returns> public static GameObject PlaceNewGameobject(float x, float y, AbstractObject itm) { MainScript ms = Camera.main.GetComponent <MainScript>(); GameObject go = Instantiate(ms.m_iconPrefab); go.name = itm.m_name; IconScript isc = go.GetComponent <IconScript>(); isc.m_ms = ms; if (isc != null) { isc.m_thisItem = itm; } isc._tmpPos.z = go.transform.position.z; //if coordinates does not set in excel, it will be random if (itm.m_defaultX == 1 && itm.m_defaultY == 1) { isc._tmpPos.x = x; isc._tmpPos.y = y; } else { isc._tmpPos.x = itm.m_defaultX; isc._tmpPos.y = itm.m_defaultY; } go.transform.position = isc._tmpPos; isc.m_thisItem.m_thisObject = isc; isc.m_thisItem.ChangeProductionType( isc.transform.Find("smallIcon").GetComponent <SpriteRenderer>(), isc); MainScript.m_sAllItems.Add(go); return(go); }
/// <summary> /// place new icons on the screen and make arrows /// </summary> /// <param name="items"> new icons collection </param> public void PlaceOpenedItems(List <AbstractObject> items) { foreach (var itm in items) { if (itm.m_isItOpen < 1) { continue; } FindEmptySpace(out var x, out var y); IconScript.PlaceNewGameobject(x, y, itm); } //make arrows. All the objects should be placed foreach (var aitm in items.Where(aitm => aitm.m_isItOpen > 0)) { aitm.OpenItem(); var itm = aitm as GameAbstractItem; if (itm?.m_dependencyCount == null) { continue; } foreach (var depList in itm.m_dependencyCount) { foreach (var dep in depList.m_dependency.Where( dep => dep.m_isItOpen > 0)) { ArrowScript.NewStoredArrowScript(dep.m_thisObject, itm.m_thisObject); } } } }
IEnumerator ExecuteAttack(Attack attack, Attack counterattack) { Vector3 xSpacing = (playerIndex == 1 ? Vector3.right : Vector3.left) * iconSpacing; Vector3 ySpacing = Vector3.down * iconSpacing; List <IconScript> rockIcons = new List <IconScript>(); List <IconScript> scissorsIcons = new List <IconScript>(); List <IconScript> paperIcons = new List <IconScript>(); for (int j = 0; j < attack.rock; j++) { IconScript icon = Instantiate <IconScript>(rockPrefab); icon.transform.parent = iconContainer; icon.transform.localPosition = xSpacing * j; icon.transform.localScale = Vector3.one * iconScale; rockIcons.Add(icon); } for (int j = 0; j < attack.scissors; j++) { IconScript icon = Instantiate <IconScript>(scissorsPrefab); icon.transform.parent = iconContainer; icon.transform.localPosition = xSpacing * j + ySpacing; icon.transform.localScale = Vector3.one * iconScale; scissorsIcons.Add(icon); } for (int j = 0; j < attack.paper; j++) { IconScript icon = Instantiate <IconScript>(paperPrefab); icon.transform.parent = iconContainer; icon.transform.localPosition = xSpacing * j + ySpacing * 2; icon.transform.localScale = Vector3.one * iconScale; paperIcons.Add(icon); } Vector3 startPos = iconContainer.position; Vector3 targetPos = iconContainer.position + (playerIndex == 1 ? Vector3.left : Vector3.right) * iconMoveDistance; float startTime = Time.time; while (Time.time < startTime + iconMoveDuration) { iconContainer.position = Vector3.Lerp(startPos, targetPos, Mathf.SmoothStep(0, 1, (Time.time - startTime) / iconMoveDuration)); yield return(null); } rockIcons.GetRange(0, Mathf.Min(rockIcons.Count, counterattack.paper)).ForEach(icon => icon.ToggleBroken(true)); scissorsIcons.GetRange(0, Mathf.Min(scissorsIcons.Count, counterattack.rock)).ForEach(icon => icon.ToggleBroken(true)); paperIcons.GetRange(0, Mathf.Min(paperIcons.Count, counterattack.scissors)).ForEach(icon => icon.ToggleBroken(true)); startTime = Time.time; while (Time.time < startTime + iconMoveDuration) { iconContainer.position = Vector3.Lerp(targetPos, startPos, Mathf.SmoothStep(0, 1, (Time.time - startTime) / iconMoveDuration)); yield return(null); } finalDamage = Mathf.Max(attack.rock - counterattack.paper, 0) + Mathf.Max(attack.scissors - counterattack.rock, 0) + Mathf.Max(attack.paper - counterattack.scissors, 0); }
/// <summary> /// Change production icon to building icon /// </summary> /// <param name="render"> render </param> /// <param name="isc"> target IconScript </param> public override void ChangeProductionType(SpriteRenderer render, IconScript isc) { Vector3 pos = render.transform.position; pos.z = -1; render.transform.position = pos; Texture2D obj = Resources.Load("Pictures/building") as Texture2D; render.sprite = Sprite.Create(obj, new Rect(0.0f, 0.0f, obj.width, obj.height), new Vector2(0.5f, 0.5f), 100.0f); isc.ChangeSprite("Pictures/Button_up_demolish", "Pictures/Button_up_demolish_gray"); }
/// <summary> /// Start is called before the first frame update. /// Called by Unity. In multi-threds systems, could be after first frame update. /// </summary> void Start() { try { _iconScript = gameObject.transform.parent.parent.gameObject.GetComponent <IconScript>(); } catch (Exception ex) { Debug.LogError("CustButton Start exception:" + ex.Message); } }
/// <summary> /// Select current icon. /// All arrows should be displayed /// </summary> void SelectIcon() { if (_sSelectedIcon != null) { _sSelectedIcon.UnselectIcon(); } _sSelectedIcon = this; MoveArrows(m_from, -1f); MoveArrowsFull(m_to, -1f); MoveArrows(m_toolsTo, -1.1f); MoveArrows(m_toolsFrom, -1.1f); }
public void CreateNewIcon() { if (iconPath.Length > 0) { GameObject icon = Instantiate(iconPrefab); icon.transform.position = Vector3.zero; IconScript iconScript = icon.GetComponent <IconScript>(); iconScript.filePath = iconPath; iconScript.contextMenu = contextMenu; iconScript.newName = field.text; gameObject.SetActive(false); } }
/// <summary> /// Save the game to the json string. /// String should be written into a file or send to server /// </summary> /// <returns>game save</returns> public string Save() { foreach (AbstractObject itm in AbstractObject.m_sEverything) { switch (itm.GetType().FullName) { case nameof(Science): m_allScience.Add(itm as Science); break; case nameof(Population): m_population = itm as Population; break; case nameof(Items): m_allItems.Add(itm as Items); break; case nameof(GameMaterial): m_allMaterails.Add(itm as GameMaterial); break; case nameof(Buildings): m_allBuildings.Add(itm as Buildings); break; case nameof(Army): m_allArmy.Add(itm as Army); break; case nameof(Resource): m_allResources.Add(itm as Resource); break; case nameof(Process): m_allProcesses.Add(itm as Process); break; case nameof(WildAnimal): m_allWildAnimals.Add(itm as WildAnimal); break; case nameof(DomesticAnimal): m_allDomestic.Add(itm as DomesticAnimal); break; } } foreach (GameObject go in MainScript.m_sAllItems) { IconScript ics = go.GetComponent <IconScript>(); GameIcon gic = new GameIcon(); gic.m_pos = ics.transform.position; gic.m_itmName = ics.m_thisItem.m_name; m_allGameIcons.Add(gic); } TimeScript tsc = Camera.main.GetComponent <TimeScript>(); m_speed = tsc.m_speed; m_day = tsc.m_day; m_year = tsc.m_year; m_canShowTooltips = LearningTip.m_sCanShow; string json = JsonUtility.ToJson(this); return(json); }
/// <summary> /// place arrow and save it in IconScript /// tools should not been stored /// </summary> /// <param name="from"> source </param> /// <param name="to"> goal </param> /// <returns> new arrow object </returns> public static ArrowScript NewStoredArrowScript(IconScript from, IconScript to) { ArrowScript asc = NewArrowScript(from, to); try { from.m_from.Add(asc); to.m_to.Add(asc); } catch (Exception ex) { Debug.LogException(ex); } return(asc); }
/// <summary> /// Place new arrow /// </summary> /// <param name="from"> source </param> /// <param name="to"> goal </param> /// <returns> new arrow object </returns> public static ArrowScript NewArrowScript(IconScript from, IconScript to) { try { MainScript ms = Camera.main.GetComponent <MainScript>(); GameObject go = GameObject.Instantiate(ms.m_arrowPrefab); ArrowScript asc = go.GetComponent <ArrowScript>(); asc.m_to = to; asc.m_from = from; return(asc); } catch (Exception ex) { Debug.LogException(ex); return(null); } }
// Use this for initialization void Start() { DirectoryInfo info = new DirectoryInfo(Application.dataPath + "/StreamingAssets/config"); FileInfo[] fileInfo = info.GetFiles(); foreach (FileInfo f in fileInfo) { if (f.Extension == ".txt") { GameObject icon = Instantiate(iconPrefab); object[] iconInfo = ParseFile(f.FullName); IconScript iconScript = icon.GetComponent <IconScript>(); iconScript.filePath = iconInfo[0].ToString(); iconScript.contextMenu = contextMenu; icon.transform.position = new Vector3((float)iconInfo[1], (float)iconInfo[2], 0); iconScript.LoadProgramIcon(); } } }
public void OnBeginDrag(PointerEventData eventData) { if (canDrag) { //Creates a clone of the icon and moves it when the other icon is selected draggingIcon = Instantiate(this.gameObject); draggingIcon.transform.SetParent(canvas.transform, false); draggingIcon.transform.SetAsLastSibling(); IconScript draggingIconScript = draggingIcon.GetComponent <IconScript>(); Destroy(draggingIconScript); var image = draggingIcon.GetComponent <Image>(); image.color = new Color(0f, 0f, 0.5f, 1f); image.GetComponentInChildren <Image>().sprite = null; image.GetComponentInChildren <Image>().color = ThemeManager.instance.SelectedColour; image.GetComponentInChildren <Text>().color = Color.white; draggingIcon.GetComponent <RectTransform>().anchoredPosition += eventData.delta / canvas.scaleFactor; } }
void OnMouseOver() { //overObject = true; // On clicking object, set icon positions to object center, // then make them visible and scale them to full size while // moving out from center if (Input.GetMouseButtonDown(0)) { if(objectPropertiesScript.isBackground == true) { iconHandlerScript.beingUsed = false; } else if (objectPropertiesScript.visible == true) { iconHandlerScript.startPos = this.transform.position; iconHandlerScript.beingUsed = true; iconHandlerScript.firstClicked = true; // get the icon scripts lookIconScript = iconHandlerScript.lookIcon.GetComponent<IconScript>(); useIconScript = iconHandlerScript.useIcon.GetComponent<IconScript>(); storeIconScript = iconHandlerScript.storeIcon.GetComponent<IconScript>(); // set the linked object of the icon scripts to be the currently // click object lookIconScript.linkedObject = this.gameObject; useIconScript.linkedObject = this.gameObject; storeIconScript.linkedObject = this.gameObject; } } }
private void OnGUI() { //Window Scene GUILayout.Label("Window", EditorStyles.boldLabel); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Title Bar Sprite:"); windowSprite = (Sprite)EditorGUILayout.ObjectField(windowSprite, typeof(Sprite), allowSceneObjects: true); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Window Name:"); windowName = EditorGUILayout.TextField("", windowName); EditorGUILayout.EndHorizontal(); windowSize = EditorGUILayout.Vector2Field("Window Size: ", windowSize); EditorGUILayout.Space(); if (GUILayout.Button("Create Window")) { //When pressed, the icon will create an instance in the scene. if (windowSprite == null) { Debug.LogWarning("Window Sprite cannot contain an empty field"); } else if (windowName == null) { Debug.LogWarning("Window Name cannot contain an empty field"); } else { string path = "Assets/Prefabs/Windows/" + windowName + ".prefab"; path = AssetDatabase.GenerateUniqueAssetPath(path); GameObject tmpWindow = Instantiate(windowPrefab); tmpWindow.GetComponent <RectTransform>().sizeDelta = new Vector2(windowSize.x + 4, windowSize.y + 4); WindowScript windowScript = tmpWindow.GetComponent <WindowScript>(); windowScript.titleBarIcon.sprite = windowSprite; windowScript.titleBarText.text = windowName; PrefabUtility.SaveAsPrefabAsset(tmpWindow, path); Destroy(tmpWindow); EditorUtility.FocusProjectWindow(); Selection.activeObject = windowPrefab; Debug.Log(":)"); } } EditorGUILayout.Space(); //Icon Settings GUILayout.Label("Icon", EditorStyles.boldLabel); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Sprite:"); iconSprite = (Sprite)EditorGUILayout.ObjectField(iconSprite, typeof(Sprite), allowSceneObjects: true); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Name:"); iconString = EditorGUILayout.TextField("", iconString); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Window:"); iconWindow = (GameObject)EditorGUILayout.ObjectField(iconWindow, typeof(GameObject), allowSceneObjects: true); EditorGUILayout.EndHorizontal(); if (GUILayout.Button("Create Icon")) { //When pressed, the icon will create an instance in the scene. if (iconSprite == null) { Debug.LogWarning("Icon Sprite cannot contain an empty field"); } else if (iconString == null) { Debug.LogWarning("Icon Name cannot contain an empty field"); } else if (iconWindow == null) { Debug.LogWarning("Window cannot contain an empty field, create one if you need to."); } else { Icon iconScriptableObject = CreateInstance <Icon>(); iconScriptableObject.iconName = iconString; iconScriptableObject.iconSprite = iconSprite; iconScriptableObject.window = iconWindow; AssetDatabase.CreateAsset(iconScriptableObject, "Assets/ScriptableObjects/Icons/" + iconString + ".asset"); AssetDatabase.SaveAssets(); GameObject tmpIcon = Instantiate(iconPrefab); IconScript iconScript = tmpIcon.GetComponent <IconScript>(); iconScript.icon = iconScriptableObject; iconScript.transform.parent = ThemeManager.instance.iconSpace.transform; EditorUtility.FocusProjectWindow(); Selection.activeObject = iconScriptableObject; Debug.Log(":)"); } } EditorGUILayout.Space(); //Start Menu Item Settings GUILayout.Label("Start Menu Item", EditorStyles.boldLabel); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Sprite:"); itemSprite = (Sprite)EditorGUILayout.ObjectField(itemSprite, typeof(Sprite), allowSceneObjects: true); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Name:"); itemName = EditorGUILayout.TextField("", itemName); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Window:"); itemWindow = (GameObject)EditorGUILayout.ObjectField(itemWindow, typeof(GameObject), allowSceneObjects: true); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); putOnStartMenu = EditorGUILayout.Toggle("Add to start menu?", putOnStartMenu); EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); if (GUILayout.Button("Create Start Menu Button")) { //When pressed, the icon will create an instance in the scene. if (itemSprite == null) { Debug.LogWarning("Item Sprite cannot contain an empty field"); } else if (itemName == null) { Debug.LogWarning("Item Name cannot contain an empty field"); } else if (itemWindow == null) { Debug.LogWarning("Window cannot contain an empty field, create one if you need to."); } else { StartMenuItem itemScriptableObject = CreateInstance <StartMenuItem>(); itemScriptableObject.menuName = itemName; itemScriptableObject.sprite = itemSprite; itemScriptableObject.window = itemWindow; AssetDatabase.CreateAsset(itemScriptableObject, "Assets/ScriptableObjects/Start Menu Items/" + itemName + ".asset"); AssetDatabase.SaveAssets(); if (putOnStartMenu) { StartMenuScript startMenu = ThemeManager.instance.taskbarCanvas.GetComponentInChildren <StartMenuScript>(); startMenu.startMenuItems.Add(itemScriptableObject); } EditorUtility.FocusProjectWindow(); Selection.activeObject = itemScriptableObject; Debug.Log(":)"); } } EditorGUILayout.Space(); //Notification Settings GUILayout.Label("Create a new Notification", EditorStyles.boldLabel); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Sprite:"); NotificationSprite = (Sprite)EditorGUILayout.ObjectField(NotificationSprite, typeof(Sprite), allowSceneObjects: true); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Name:"); notificationName = EditorGUILayout.TextField("", notificationName); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Lifespan:"); notificationLifespan = EditorGUILayout.FloatField(notificationLifespan); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Tooltip Text:"); notificationToolTip = EditorGUILayout.TextField("", notificationToolTip); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); notificationPopupDespawn = EditorGUILayout.Toggle("Despawn?", notificationPopupDespawn); EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); GUILayout.Label("Popup Settings", EditorStyles.boldLabel); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Popup Lifespan:"); notificationPopupLifespan = EditorGUILayout.FloatField(notificationPopupLifespan); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Popup Title:"); notificationPopupTitle = EditorGUILayout.TextField("", notificationPopupTitle); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Popup Description:"); notificationPopupDescription = EditorGUILayout.TextField("", notificationPopupDescription); EditorGUILayout.EndHorizontal(); if (GUILayout.Button("Create Notification")) { //When pressed, the icon will create an instance in the scene. if (NotificationSprite == null) { Debug.LogWarning("Notification Sprite cannot contain an empty field"); } else if (notificationName == null) { Debug.LogWarning("Notification Name cannot contain an empty field"); } else if (notificationToolTip == null) { Debug.LogWarning("Tooltip cannot contain an empty field"); } else if (notificationPopupLifespan <= 0) { Debug.LogWarning("The popup needs to have a lifespan, or to be put on permamently."); } else if (notificationLifespan <= 0 && !notificationPopupDespawn) { Debug.LogWarning("Lifespan needs to be greater than 0 or to be on permamently."); } else if (notificationPopupTitle == null) { Debug.LogWarning("Notification Popup Title cannot be an empty field"); } else if (notificationPopupDescription == null) { Debug.LogWarning("Notification Description cannot be an empty field"); } else { Notification notification = CreateInstance <Notification>(); notification.notificationSprite = NotificationSprite; notification.notificationTitle = notificationPopupTitle; notification.notificationToolTipText = notificationToolTip; notification.notificationText = notificationPopupDescription; notification.stayOnPermamently = notificationPopupDespawn; notification.notificationLifespan = notificationPopupLifespan; AssetDatabase.CreateAsset(notification, "Assets/ScriptableObjects/Notifications/" + notificationName + ".asset"); AssetDatabase.SaveAssets(); GameObject tmpNotif = Instantiate(notificationPrefab); NotificationObj notifScript = tmpNotif.GetComponent <NotificationObj>(); notifScript.notification = notification; notifScript.transform.parent = ThemeManager.instance.taskbar.GetComponentInChildren <NotificationAreaScript>().NotificationsSpace.transform; EditorUtility.FocusProjectWindow(); Selection.activeObject = notification; Debug.Log(":)"); } } }
/// <summary> /// The population cannot be managed by the player manually, buttons should be disabled /// </summary> /// <param name="render"> render </param> /// <param name="isc"> target IconScript </param> public override void ChangeProductionType(SpriteRenderer render, IconScript isc) { base.ChangeProductionType(render, isc); DisableAllButtons(render); }
/// <summary> /// load game from json string /// !!! move it to Game !!! /// </summary> void Load(string json) { Game gm = Game.Load(json); MainScript ms = Camera.main.GetComponent <MainScript>(); ms.ClearEverything(); ms.Loading(); CopyItems(gm.m_allArmy); CopyItems(gm.m_allBuildings); CopyItems(gm.m_allItems); CopyItems(gm.m_allMaterails); CopyItems(gm.m_allScience); CopyItems(gm.m_allResources); CopyItems(gm.m_allProcesses); CopyItems(gm.m_allWildAnimals); CopyItems(gm.m_allDomestic); AbstractObject.m_sEverything[AbstractObject.m_sEverything.Count - 1]. Copy(gm.m_population); ms.PlaceOpenedItems(AbstractObject.GetOpennedItems()); CopyTools(gm.m_allArmy); CopyTools(gm.m_allBuildings); CopyTools(gm.m_allItems); CopyTools(gm.m_allMaterails); CopyTools(gm.m_allProcesses); foreach (GameObject go in MainScript.m_sAllItems) { try { IconScript ics = go.GetComponent <IconScript>(); Game.GameIcon gic = null; foreach (var itm in gm.m_allGameIcons) { if (itm.m_itmName == ics.m_thisItem.m_name) { gic = itm; break; } } if (gic == null) { continue; //throw new System.Exception("Object not found"); } gm.m_allGameIcons.Remove(gic); ics.transform.position = gic.m_pos; } catch (Exception ex) { Debug.Log(ex.Message); } } #if !UNITY_WEBGL Localization.GetLocalization().ChangeLanguage(Settings.GetSettings().m_localization.m_currentLanguage); #endif TimeScript tsc = Camera.main.GetComponent <TimeScript>(); tsc.m_day = gm.m_day; tsc.m_year = gm.m_year; tsc.m_speed = gm.m_speed; LearningTip.m_sCanShow = gm.m_canShowTooltips; gameObject.SetActive(false); }
/// <summary> /// change production icon in IconScript. /// Should be overloaded by children where it used. /// </summary> /// <param name="render"> render </param> /// <param name="isc"> target </param> public virtual void ChangeProductionType(SpriteRenderer render, IconScript isc) { }