public void StartOnMain(int idxMap, int idxScript, ScriptGui.ScriptYaml script, GameObject npcTarget, OnEndAction onEndAction = null) { if (mIsRun) { Debug.Log("Can't start action when running"); return; } // if(mIsRun && !mIsMain){ // Debug.Log("Stop normal before run main"); // ForceEnd(); // } Debug.Log("Start Main Action " + Key + " , idxScript: " + idxScript); IdxMap = idxMap; IdxScript = idxScript; Script = script; OBJTarget = npcTarget; mIsMain = true; InputFieldHelper.Instance.HideMenu(); mOnEndAction = ( ScriptGame s) => { // UI InputFieldHelper.Instance.HidePopupAction(); InputFieldHelper.Instance.HideChatBottom(); InputFieldHelper.Instance.ShowMenu(); AutoTileMap_Editor.Instance.ResetMainCamWithAni(() => { onEndAction(s); }); }; ResetValueFlag(); StartScope(); }
public void StartNormal(int idxMap, int idxScript, ScriptGui.ScriptYaml script, GameObject npcTarget, OnEndAction onEndAction = null) { // if(mIsRun){ // Debug.Log("Can't start action when running"); // return; // } Debug.Log("Start Normal Action " + Key + " ,idxScript: " + idxScript); IdxMap = idxMap; IdxScript = idxScript; Script = script; OBJTarget = npcTarget; mIsMain = false; mOnEndAction = onEndAction; mActionWait = null; ResetValueFlag(); StartScope(); }
public Flags MapFlag(string hash, ScriptGui.ScriptYaml script) { if (_Flags == null) { _Flags = new Dictionary <string, Flags>(); } if (!_Flags.ContainsKey(hash)) { if (script.FlagsYaml != null) { _Flags[hash] = script.FlagsYaml.Clone(); } else { _Flags[hash] = null; } } return(_Flags[hash]); }
public ScriptGui.ScriptYaml GetOnCache(int triggerRef) { if (triggerRef < 0 || triggerRef >= MapData.ScriptData.Count) { return(null); } ScriptGui.ScriptYaml r = null; if (_cacheYaml == null) { _cacheYaml = new Dictionary <int, ScriptGui.ScriptYaml>(); } if (_cacheYaml.ContainsKey(triggerRef)) { r = _cacheYaml[triggerRef]; } else { try{ var scriptData = MapData.ScriptData; var script = scriptData[triggerRef]; // var deserializer = new DeserializerBuilder() // .WithNamingConvention(new CamelCaseNamingConvention()) // .IgnoreUnmatchedProperties() // .Build(); // var s = deserializer.Deserialize<ScriptGui.ScriptYaml>(script.YamlData); // s.IdToObj(); // r = s; script.ScriptYaml.IdToObj(); r = script.ScriptYaml; // if(script.YamlData != null){ // r = (ScriptGui.ScriptYaml)UtilsAON.DeepCopy(script.ScriptYaml); // } } catch { } if (r != null) { _cacheYaml.Add(triggerRef, r); } } return(r); }
public Flags ScriptFlag(TriggerDetail triggerDetal, ScriptGui.ScriptYaml script) { return(MapDataAt(triggerDetal.refMap).MapFlag(triggerDetal.Hash, script)); }