Пример #1
0
		public void SaveScene(string fileName, Camera cameraPosition, SpriteArray spriteArray, bool snapping, float PixelSize, StringArrayArray SpriteArrays, SpriteManager sprMan)
		{
			spriteArrays = SpriteArrays;
			camera = new CameraSave(cameraPosition);
			snappingOn = snapping;
			pixelSize = PixelSize;
			ssa.AddSpriteArray(spriteArray, sprMan);
			FileStream stream= File.Create(fileName);
			BinaryFormatter binFormatter = new BinaryFormatter();
			binFormatter.Serialize(stream, this);
			stream.Close();
		}
Пример #2
0
		public void LoadScene(string fileName)
		{
			FileStream stream = File.Open(fileName, System.IO.FileMode.Open);
			BinaryFormatter binFormatter=new BinaryFormatter();
			SpriteEditorScene tempScene =(SpriteEditorScene)binFormatter.Deserialize(stream);
			this.camera = tempScene.camera;
			this.snappingOn = tempScene.snappingOn;
			this.pixelSize = tempScene.pixelSize;
			spriteArrays = tempScene.spriteArrays;
			ssa = tempScene.ssa;

			stream.Close();
		}
Пример #3
0
    public WorldProgressSave(GameObject go)
    {
        WorldController w = go.GetComponent <WorldController>();

        world = w.Map;

        productivities = new DictContainer <string, float>(ProductivityController.productivities);
        automation     = new DictContainer <string, float>(ProductivityController.automationValue);

        saveDate = DateTime.Now;
        Debug.Log(saveDate.ToString("MM/dd/yyyy"));

        Events = w.notifications.Events;

        //SAVE IN-GAME STUFF
        time           = new TimeSave(w.timeController);
        population     = new PopulationSave(w.population);
        money          = new MoneySave(w.money);
        camera         = new CameraSave(w.cameraController);
        immigration    = new ImmigrationSave(w.immigration);
        actionSelecter = new ActionSelecterControllerSave(w.actionSelecter);
        trade          = new TradeSave(w.trade);
        diplomacy      = new DiplomacySave(w.diplomacy);
        scenario       = new ScenarioSave(w.scenario);
        research       = new ResearchSave(w.research);

        //SAVE OBJECTS FROM PARENT
        //structures
        foreach (Transform t in w.structures.transform)
        {
            GameObject str = t.gameObject;

            if (str.GetComponent <StorageBuilding>() != null)
            {
                storagebuildings.Add(new StorageBuildingSave(str));
            }

            else if (str.GetComponent <Stable>() != null)
            {
                stables.Add(new StableSave(str));
            }

            else if (str.GetComponent <Crop>() != null)
            {
                crops.Add(new CropSave(str));
            }

            else if (str.GetComponent <Generator>() != null)
            {
                generators.Add(new GeneratorSave(str));
            }

            else if (str.GetComponent <WTP>() != null)
            {
                wtps.Add(new WTPSave(str));
            }

            else if (str.GetComponent <Canal>() != null)
            {
                canals.Add(new CanalSave(str));
            }

            else if (str.GetComponent <House>() != null)
            {
                houses.Add(new HouseSave(str.gameObject));
            }

            else if (str.GetComponent <Farmhouse>() != null)
            {
                farmhouses.Add(new FarmhouseSave(str));
            }

            else if (str.GetComponent <Workplace>() != null)
            {
                workplaces.Add(new WorkplaceSave(str));
            }

            else if (str.GetComponent <Jobcentre>() != null)
            {
                jobcentres.Add(new JobcentreSave(str));
            }

            else if (str.GetComponent <Structure>() != null)
            {
                structures.Add(new StructureSave(str));
            }

            else
            {
                Debug.Log(str.name + " shouldn't be under structures");
            }
        }

        //walkers
        foreach (Transform t in w.walkers.transform)
        {
            GameObject wlkr = t.gameObject;

            if (wlkr.GetComponent <Animal>() != null)
            {
                animals.Add(new AnimalSave(wlkr));
            }

            else if (wlkr.GetComponent <Walker>() != null)
            {
                walkers.Add(new WalkerSave(wlkr));
            }

            else
            {
                Debug.Log(wlkr.name + " shouldn't be under walkers");
            }
        }
    }
Пример #4
0
    IEnumerator setUpInitial(DressManager dm)
    {
        if (dm.cpa == null)
        {
            dm.callSwitch();
            yield return(null);
        }
        while (!SceneManager.GetSceneByName("master").isLoaded)
        {
            yield return(null);
        }

        dm.TurnOff(dm.transform.GetChild(0).GetComponent <CanvasGroup>(), false);
        dm.TurnOn(dm.cpa.transform.root.GetComponent <CanvasGroup>(), false);


        //set up canvas -
        Button crop, fullscreen;

        crop       = GameObject.Instantiate(dm.x.gameObject, dm.x.transform.parent, false).GetComponent <Button>();
        fullscreen = GameObject.Instantiate(dm.x.gameObject, dm.x.transform.parent, false).GetComponent <Button>();
        Button check = dm.cpa.transform.parent.GetChild(1).GetComponent <Button>();

        crop.onClick.RemoveAllListeners();
        fullscreen.onClick.RemoveAllListeners();

        fullscreen.GetComponent <Image>().sprite = Resources.Load <Sprite>("crop");
        crop.GetComponent <Image>().sprite       = Resources.Load <Sprite>("cropbutt");



        GameObject cropGo = new GameObject("crop");
        Image      rc     = cropGo.AddComponent <Image>();

        rc.raycastTarget = false;
        RectTransform r = rc.rectTransform;

        r.SetParent(transform.root, false);
        r.offsetMax = Vector2.zero;
        r.offsetMin = Vector2.zero;
        r.anchorMax = Vector2.one;
        r.anchorMin = Vector2.zero;



        Image cropC = GameObject.Instantiate(cropGo, cropGo.transform.parent, false).GetComponent <Image>();

        cropC.name = "cropC";
        Image cropFront = GameObject.Instantiate(cropC, cropGo.transform, false).GetComponent <Image>();

        rc.color       = Color.black;
        cropC.material = new Material(Shader.Find("UIMasked"));
        rc.material    = new Material(Shader.Find("UIMask"));

        cropFront.sprite = Resources.Load <Sprite>("crop");
        cropFront.color  = new Color(0.15f, 0.15f, 0.15f, 1);
        cropFront.type   = Image.Type.Sliced;

        Image watermark = GameObject.FindGameObjectWithTag("Top").transform.GetChild(0).GetComponent <Image>();

        r = watermark.rectTransform;
        r.SetParent(cropGo.transform, false);
        Vector2 wmAP = r.anchoredPosition, wmSD = r.sizeDelta;

        r.anchoredPosition = new Vector2(282.7f, 78);
        r.sizeDelta        = new Vector2(559.8f, 1146.5f);

        cropC.material.SetColor("_Color", new Color(0, 0, 0, 0.31f));

        CameraSave cs = gameObject.AddComponent <CameraSave>();

        Iris lr = dm.cpa.getLeftRight();

        cs.Init(rc, crop, fullscreen, check, new GameObject[] {
            crop.gameObject, fullscreen.gameObject, lr.gameObject, dm.x.gameObject,
        }, dm.x.transform.parent.GetComponent <Image>(), dm);
        //150 150 180 180



        check.onClick.RemoveAllListeners();
        check.onClick.AddListener(() =>
        {
            cs.TakeImage();
        });

        string photo, video = "gif";

        switch (PlayerPrefs.GetInt("Lang"))
        {
        case 1:
            photo = "照片";
            break;

        case 2:
            photo = "写真";
            break;

        case 3:
            photo = "Фото";
            //rus
            break;

        case 4:
            photo = "foto";
            //spanish
            break;

        case 5:
            photo = "ภาพถ่าย";
            //thai
            break;

        case 6:
            photo = "photo";
            //french
            break;

        default:
            photo = "photo";
            //english
            break;
        }

        Image  checkIMg = check.GetComponent <Image>();
        Sprite checkS   = checkIMg.sprite;

        checkIMg.sprite = Resources.Load <Sprite>("camera");


        UnityAction photoUA = () =>
        {
            check.onClick.RemoveAllListeners();
            check.onClick.AddListener(() =>
            {
                cs.TakeImage();
            });
            checkIMg.color  = Color.white;
            checkIMg.sprite = Resources.Load <Sprite>("camera");
            crop.GetComponent <Image>().color       = Color.white;
            fullscreen.GetComponent <Image>().color = Color.white;
        };

        UnityAction videoUA = () =>
        {
            check.onClick.RemoveAllListeners();
            check.onClick.AddListener(() =>
            {
                cs.TakeVideo(dm.fm, checkIMg, cropC.rectTransform);
            });
            Color32 yell = new Color32(255, 248, 194, 255);
            checkIMg.sprite = Resources.Load <Sprite>("play");
            crop.GetComponent <Image>().color       = yell;
            fullscreen.GetComponent <Image>().color = yell;
        };


        lr.exclusiveButtons(photo, video, photoUA, videoUA, dm.x);
        CanvasGroup cg = lr.transform.parent.GetComponent <CanvasGroup>();

        cg.alpha          = 1;
        cg.interactable   = true;
        cg.blocksRaycasts = true;

        lr.imgs[1].transform.GetChild(0).GetComponent <TextMeshProUGUI>().color = new Color32(255, 248, 194, 255);


        r = (RectTransform)check.transform;
        Vector2 pos = r.anchoredPosition, sD = r.sizeDelta;

        r.anchorMin        = new Vector2(0.5f, 0.5f);
        r.anchorMax        = r.anchorMin;
        r.anchoredPosition = Vector2.zero;
        r.sizeDelta        = new Vector2(175.8f, 219.7f);

        r = (RectTransform)dm.cpa.transform.parent;
        Vector2 pos2 = r.anchoredPosition, sD2 = r.sizeDelta;

        r.anchoredPosition = new Vector2(r.anchoredPosition.x, 107.9f);
        r.sizeDelta        = new Vector2(r.sizeDelta.x, 215.9f);

        r = (RectTransform)dm.x.transform;
        Vector2 sD3 = r.sizeDelta;

        r.sizeDelta = new Vector2(r.sizeDelta.x, 215.9f);


        r           = (RectTransform)crop.transform;
        r.anchorMin = new Vector2(0.6964788f, 0);
        r.anchorMax = new Vector2(0.7631065f, 1);
        r.offsetMax = new Vector2(24.1f, 0);
        r.offsetMin = new Vector2(-40.1f, 0);

        r           = (RectTransform)fullscreen.transform;
        r.anchorMin = new Vector2(0.8555213f, 0);
        r.anchorMax = new Vector2(1, 1);
        r.offsetMax = new Vector2(-44.1f, 0);
        r.offsetMin = new Vector2(-13.9f, 0);

        /*
         * trs.offsetMin = new Vector2(left, bottom);
         * trs.offsetMax = new Vector2(-right, -top);
         */

        dm.cpa.gameObject.SetActive(false);



        dm.x.onClick.AddListener(() =>
        {
            RectTransform rt = watermark.rectTransform;
            rt.SetParent(GameObject.FindGameObjectWithTag("Top").transform, false);
            rt.anchoredPosition = wmAP;
            rt.sizeDelta        = wmSD;
            checkIMg.sprite     = checkS;
            Destroy(crop.gameObject); Destroy(fullscreen.gameObject); Destroy(cropGo.gameObject); Destroy(cropC.gameObject); Destroy(cs);
            dm.TurnOff(dm.cpa.transform.root.GetComponent <CanvasGroup>(), true);
            dm.TurnOn(dm.transform.GetChild(0).GetComponent <CanvasGroup>(), true);
            cs.SeeEverything();
            dm.x.onClick.RemoveAllListeners();
            check.onClick.RemoveAllListeners();
            CanvasGroup cp = dm.cpa.transform.root.GetComponent <CanvasGroup>();
            check.onClick.AddListener(() =>
            {
                dm.TurnOffEnd(cp);
            });
            lr.imgs[1].transform.GetChild(0).GetComponent <TextMeshProUGUI>().color = Color.white;


            rt = (RectTransform)check.transform;


            r.sizeDelta         = sD;
            rt.anchoredPosition = pos;
            rt.anchorMax        = new Vector2(1, 0.5f);
            rt.anchorMin        = new Vector2(0.905f, 0.5f);
            rt.offsetMax        = new Vector2(-38.65f, rt.offsetMax.y);
            rt.offsetMin        = new Vector2(-87.35f, rt.offsetMin.y);


            r                  = (RectTransform)dm.cpa.transform.parent;
            r.sizeDelta        = sD2;
            r.anchoredPosition = pos2;



            cg.interactable   = false;
            cg.blocksRaycasts = false;
            cg.alpha          = 0;
        });


        yield return(null);
    }
Пример #5
0
 public CameraBounds(CameraSave cameraSave)
 {
     mCameraSave = cameraSave;
     mRectangle  = ShapeManager.AddAxisAlignedRectangle();
 }