using System; using System.Collections.Generic; using UnityEngine; public class WindowPartsEffectSepia : WindowPartsEffectBase { public override void Awake() { base.Awake(); this.sepia_tone_ = GameMain.Instance.MainCamera.GetComponent(); if (this.sepia_tone_ == null) { this.sepia_tone_ = GameMain.Instance.MainCamera.gameObject.AddComponent(); if (this.sepia_tone_.shader == null) { this.sepia_tone_.shader = Shader.Find("Hidden/Sepiatone Effect"); } this.sepia_tone_.enabled = false; } } public override void OnDestroy() { if (GameMain.Instance == null || GameMain.Instance.MainCamera == null || this.sepia_tone_ == null) { return; } UnityEngine.Object.Destroy(this.sepia_tone_); this.sepia_tone_ = null; } public override void Init() { this.EnabledCheckBox.check = false; this.UpdateGui(); } public override void OnSerializeEvent() { Dictionary> woldStoreData = this.effect_window_.GetWoldStoreData(); woldStoreData["Sepia"] = new Dictionary(); Dictionary dictionary = woldStoreData["Sepia"]; dictionary.Add("enabled", base.effect_enabled.ToString()); } public override void OnDeserializeEvent() { Dictionary> woldStoreData = this.effect_window_.GetWoldStoreData(); if (!woldStoreData.ContainsKey("Sepia")) { WFCheckBox enabledCheckBox = this.EnabledCheckBox; bool flag = false; base.effect_enabled = flag; enabledCheckBox.check = flag; } else { Dictionary dictionary = woldStoreData["Sepia"]; base.effect_enabled = bool.Parse(dictionary["enabled"]); } this.UpdateGui(); } public void UpdateGui() { this.EnabledCheckBox.check = base.effect_enabled; } protected override MonoBehaviour effect_object { get { return this.sepia_tone_; } } private SepiaToneEffect sepia_tone_; }