/// <summary> /// 設定データを探す /// </summary> IAdvSettingData FindSettingData(string sheetName) { switch (sheetName) { case SheetNameCharacter: return(CharacterSetting); case SheetNameTexture: return(TextureSetting); case SheetNameSound: return(SoundSetting); case SheetNameLayer: return(LayerSetting); case SheetNameSceneGallery: return(SceneGallerySetting); case SheetNameLocalize: return(LocalizeSetting); default: if (AdvParamManager.IsParamSheetName(sheetName)) { return(DefaultParam); } else { Debug.LogError(LanguageAdvErrorMsg.LocalizeTextFormat(AdvErrorMsg.NotSettingSheet, sheetName)); return(null); } } }
///パラメーターデータを読み込み public AdvParamManager ReadParam(AdvEngine engine) { AdvParamManager param = new AdvParamManager(); param.InitDefaultAll(engine.DataManager.SettingDataManager.DefaultParam); param.ReadSaveDataBuffer(paramBuf); return(param); }
///パラメーターデータを読み込み public AdvParamManager ReadParam(AdvEngine engine) { AdvParamManager param = new AdvParamManager(); param.InitDefaultAll(engine.DataManager.SettingDataManager.DefaultParam); Buffer.Overrirde(param.DefaultData); return(param); }
private float CalcRate(AdvParamManager param) { if (this.expRate == null) { return(1f); } return(param.CalcExpressionFloat(this.expRate)); }
/// <summary> /// システムデータ含めてデフォルト値で初期化 /// </summary> internal void InitDefaultAll(AdvParamManager src) { this.StructTbl.Clear(); foreach (var keyValue in src.StructTbl) { StructTbl.Add(keyValue.Key, keyValue.Value.Clone()); } IsInit = true; }
float CalcRate(AdvParamManager param) { if (expRate == null) { return(1); } else { return(param.CalcExpressionFloat(expRate)); } }
public void BeginIf(AdvParamManager param, ExpressionParser exp) { this.IsLoadInit = false; AdvIfData data = new AdvIfData(); if (this.current != null) { data.Parent = this.current; } this.current = data; this.current.BeginIf(param, exp); }
/// <summary> /// else if文の開始 /// </summary> /// <param name="param">判定に使う数値パラメーター</param> /// <param name="exp">判定式</param> public void ElseIf(AdvParamManager param, ExpressionParser exp) { if (current == null) { if (!IsLoadInit) { Debug.LogError(LanguageAdvErrorMsg.LocalizeTextFormat(AdvErrorMsg.ElseIf, exp)); } current = new AdvIfData(); } current.ElseIf(param, exp); }
/// <summary> /// if文の開始 /// </summary> /// <param name="param">判定に使う数値パラメーター</param> /// <param name="exp">判定式</param> public void BeginIf(AdvParamManager param, ExpressionParser exp) { IsLoadInit = false; AdvIfData new_if = new AdvIfData(); if (null != current) { new_if.Parent = current; } current = new_if; current.BeginIf(param, exp); }
/// <summary> /// else if文の開始 /// </summary> /// <param name="param">判定に使う数値パラメーター</param> /// <param name="exp">判定式</param> public void ElseIf(AdvParamManager param, ExpressionParser exp) { if (!isIf) { isIf = param.CalcExpressionBoolean(exp); isSkpping = !isIf; } else { isSkpping = true; } }
public void ElseIf(AdvParamManager param, ExpressionParser exp) { if (this.current == null) { if (!this.IsLoadInit) { object[] args = new object[] { exp }; Debug.LogError(LanguageAdvErrorMsg.LocalizeTextFormat(AdvErrorMsg.ElseIf, args)); } this.current = new AdvIfData(); } this.current.ElseIf(param, exp); }
/// <summary> /// システムデータ以外の値をデフォルト値で初期化 /// </summary> /// <param name="advParamSetting"></param> internal void InitDefaultNormal(AdvParamManager src) { foreach (var keyValue in src.StructTbl) { AdvParamStructTbl data; if (StructTbl.TryGetValue(keyValue.Key, out data)) { data.InitDefaultNormal(keyValue.Value); } else { Debug.LogError("Param: " + keyValue.Key + " is not found in default param"); } } }
/// <summary> /// else if文の開始 /// </summary> /// <param name="param">判定に使う数値パラメーター</param> /// <param name="exp">判定式</param> public void ElseIf(AdvParamManager param, ExpressionParser exp) { if (Current == null) { //Curretがないのはエラー if (!OldSaveDataStart) { Debug.LogError(LanguageAdvErrorMsg.LocalizeTextFormat(AdvErrorMsg.ElseIf, exp)); } Current = new AdvIfData(Current); } if (!Current.IsParantSkipping) { Current.ElseIf(param, exp); } }
/// <summary> /// if文の開始 /// </summary> /// <param name="param">判定に使う数値パラメーター</param> /// <param name="exp">判定式</param> public void BeginIf(AdvParamManager param, ExpressionParser exp) { OldSaveDataStart = false; Current = new AdvIfData(Current); if (Current.IsParantSkipping) { //親がスキップ中なので、このIf構造は全てスキップ // Debug.Log("このIf構造は 親がスキップ中なので、スキップされます"); Current.IsSkpping = true; } else { Current.BeginIf(param, exp); } }
/// <summary> /// if文の開始 /// </summary> /// <param name="param">判定に使う数値パラメーター</param> /// <param name="exp">判定式</param> public void BeginIf(AdvParamManager param, ExpressionParser exp) { IsLoadInit = false; AdvIfData new_if = new AdvIfData(); if (null != current) { new_if.Parent = current; } current = new_if; if (current.IsParantSkipping) { current.IsSkpping = true; } else { current.BeginIf(param, exp); } }
private bool IsEnable(AdvParamManager param) { return((this.exp == null) || param.CalcExpressionBoolean(this.exp)); }
public IoInerface(AdvParamManager param, AdvParamData.FileType fileType) { Param = param; FileType = fileType; }
/// <summary> /// コンストラクタ /// </summary> /// <param name="path">セーブデータのファイルパス</param> public AdvSaveData(SaveDataType type, string path) { this.type = type; this.path = path; this.Param = new AdvParamManager(); }
/// <summary> /// if文の開始 /// </summary> /// <param name="param">判定に使う数値パラメーター</param> /// <param name="exp">判定式</param> internal void BeginIf(AdvParamManager param, ExpressionParser exp) { IsIf = param.CalcExpressionBoolean(exp); isSkpping = !IsIf; }
bool isIf = false; //if文がtrueになったか /// <summary> /// if文の開始 /// </summary> /// <param name="param">判定に使う数値パラメーター</param> /// <param name="exp">判定式</param> public void BeginIf(AdvParamManager param, ExpressionParser exp) { isIf = param.CalcExpressionBoolean(exp); isSkpping = !isIf; }
bool IsEnable(AdvParamManager param) { return(exp == null || param.CalcExpressionBoolean(exp)); }
/// <summary> /// パラメーター設定用のエクセルシートか判定 /// </summary> /// <param name="sheetName">シート名</param> /// <returns>設定用ならtrue。違うならfalse</returns> public static bool IsParamSettingsSheet(string sheetName) { return(AdvParamManager.IsParamSheetName(sheetName)); }