Esempio n. 1
0
        /**
         * <summary>Serialises appropriate GameObject values into a string.</summary>
         * <returns>The data, serialised as a string</returns>
         */
        public override string SaveData()
        {
            NPCData npcData = new NPCData();

            npcData.objectID      = constantID;
            npcData.savePrevented = savePrevented;

            if (OwnHotspot != null)
            {
                npcData.isOn = OwnHotspot.IsOn();
            }

            npcData.LocX = transform.position.x;
            npcData.LocY = transform.position.y;
            npcData.LocZ = transform.position.z;

            npcData.RotX = transform.eulerAngles.x;
            npcData.RotY = transform.eulerAngles.y;
            npcData.RotZ = transform.eulerAngles.z;

            npcData.ScaleX = transform.localScale.x;
            npcData.ScaleY = transform.localScale.y;
            npcData.ScaleZ = transform.localScale.z;

            if (GetComponent <NPC>())
            {
                NPC npc = GetComponent <NPC>();
                npcData = npc.SaveData(npcData);
            }

            return(Serializer.SaveScriptData <NPCData> (npcData));
        }
Esempio n. 2
0
        /**
         * <summary>Deserialises a string of data, and restores the GameObject to its previous state.</summary>
         * <param name = "stringData">The data, serialised as a string</param>
         */
        public override void LoadData(string stringData)
        {
            NPCData data = Serializer.LoadScriptData <NPCData> (stringData);

            if (data == null)
            {
                loadedData = false;
                return;
            }
            SavePrevented = data.savePrevented; if (savePrevented)
            {
                return;
            }

            if (GetComponent <RememberHotspot>() == null)
            {
                /*if (data.isOn)
                 * {
                 *      gameObject.layer = LayerMask.NameToLayer (KickStarter.settingsManager.hotspotLayer);
                 * }
                 * else
                 * {
                 *      gameObject.layer = LayerMask.NameToLayer (KickStarter.settingsManager.deactivatedLayer);
                 * }*/

                if (OwnHotspot != null)
                {
                    if (data.isOn)
                    {
                        OwnHotspot.TurnOn();
                    }
                    else
                    {
                        OwnHotspot.TurnOff();
                    }
                }
            }

            transform.position    = new Vector3(data.LocX, data.LocY, data.LocZ);
            transform.eulerAngles = new Vector3(data.RotX, data.RotY, data.RotZ);
            transform.localScale  = new Vector3(data.ScaleX, data.ScaleY, data.ScaleZ);

            if (GetComponent <NPC>())
            {
                NPC npc = GetComponent <NPC>();
                npc.SetRotation(transform.rotation);
                npc.LoadData(data);
            }

            loadedData = true;
        }
Esempio n. 3
0
        /**
         * <summary>Deserialises a string of data, and restores the GameObject to its previous state.</summary>
         * <param name = "stringData">The data, serialised as a string</param>
         */
        public override void LoadData(string stringData)
        {
            HotspotData data = Serializer.LoadScriptData <HotspotData> (stringData);

            if (data == null)
            {
                loadedData = false;
                return;
            }
            SavePrevented = data.savePrevented; if (savePrevented)
            {
                return;
            }

            if (data.isOn)
            {
                gameObject.layer = LayerMask.NameToLayer(KickStarter.settingsManager.hotspotLayer);
            }
            else
            {
                gameObject.layer = LayerMask.NameToLayer(KickStarter.settingsManager.deactivatedLayer);
            }

            if (OwnHotspot)
            {
                if (data.isOn)
                {
                    OwnHotspot.TurnOn();
                }
                else
                {
                    OwnHotspot.TurnOff();
                }

                StringToButtonStates(OwnHotspot, data.buttonStates);

                if (!string.IsNullOrEmpty(data.hotspotName))
                {
                    OwnHotspot.SetName(data.hotspotName, data.displayLineID);
                }
                OwnHotspot.ResetMainIcon();
            }

            loadedData = true;
        }
Esempio n. 4
0
        /**
         * <summary>Serialises appropriate GameObject values into a string.</summary>
         * <returns>The data, serialised as a string</returns>
         */
        public override string SaveData()
        {
            HotspotData hotspotData = new HotspotData();

            hotspotData.objectID      = constantID;
            hotspotData.savePrevented = savePrevented;

            if (OwnHotspot)
            {
                hotspotData.isOn         = OwnHotspot.IsOn();
                hotspotData.buttonStates = ButtonStatesToString(OwnHotspot);

                hotspotData.hotspotName   = OwnHotspot.GetName(0);
                hotspotData.displayLineID = OwnHotspot.displayLineID;
            }

            return(Serializer.SaveScriptData <HotspotData> (hotspotData));
        }
Esempio n. 5
0
        private void Awake()
        {
            if (loadedData)
            {
                return;
            }

            if (OwnHotspot != null &&
                KickStarter.settingsManager &&
                GameIsPlaying())
            {
                if (startState == AC_OnOff.On)
                {
                    OwnHotspot.TurnOn();
                }
                else
                {
                    OwnHotspot.TurnOff();
                }
            }
        }