public override void OnSave()
        {
            PillSaveData data = new PillSaveData(new List <Vector3>(), new List <Quaternion>(), new List <int>(), OverdoseAmount);

            foreach (GameObject o in GameObject.FindObjectsOfType <GameObject>().Where(o => o.GetComponent <PillBehaviour>() != null && !_list.Contains(o)))
            {
                data.Pos.Add(o.transform.position);
                data.Rot.Add(o.transform.rotation);
                data.PillCount.Add(o.GetComponent <PillBehaviour>().Count);
            }
            PillSaveData.Serialize(data, PillSaveData.SavePath);
        }
        public override void OnLoad()
        {
            // Original
            AssetBundle b        = LoadAssets.LoadBundle(this, "pills.unity3d");
            GameObject  original = b.LoadAsset <GameObject>("pill_bottle.prefab");

            _bottle      = GameObject.Instantiate <GameObject>(original);
            _bottle.name = "sleeping pills";
            Material m = new Material(Shader.Find("Standard"));

            m.mainTexture = original.GetComponent <Renderer>().material.mainTexture;
            _bottle.GetComponent <Renderer>().material = m;

            GameObject.Destroy(original);
            b.Unload(false);

            // Load save
            PillSaveData data = PillSaveData.Deserialize <PillSaveData>(PillSaveData.SavePath);

            for (int i = 0; i < data.Pos.Count; ++i)
            {
                GameObject pills = GameObject.Instantiate <GameObject>(_bottle);
                pills.transform.position = data.Pos[i];
                pills.transform.rotation = data.Rot[i];
                PillBehaviour c = pills.AddComponent <PillBehaviour>();
                c.ShopList = _list;
                c.Count    = data.PillCount[i];
                c.Activate();
                c.SetBought();
            }

            // Setup
            FatigueFsm = PlayMakerGlobals.Instance.Variables.FindFsmFloat("PlayerFatigue");
            StressFsm  = PlayMakerGlobals.Instance.Variables.FindFsmFloat("PlayerStress");
            DrunkFsm   = PlayMakerGlobals.Instance.Variables.FindFsmFloat("PlayerDrunk");
            InitShop();
            ConsoleCommand.Add(new PillCommand(this));
        }