/// <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);
                }
            }
        }
Beispiel #2
0
        ///パラメーターデータを読み込み
        public AdvParamManager ReadParam(AdvEngine engine)
        {
            AdvParamManager param = new AdvParamManager();

            param.InitDefaultAll(engine.DataManager.SettingDataManager.DefaultParam);
            param.ReadSaveDataBuffer(paramBuf);
            return(param);
        }
Beispiel #3
0
        ///パラメーターデータを読み込み
        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));
 }
Beispiel #5
0
 /// <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;
 }
Beispiel #6
0
 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);
        }
Beispiel #8
0
 /// <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);
 }
Beispiel #9
0
        /// <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);
        }
Beispiel #10
0
 /// <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);
 }
Beispiel #12
0
 /// <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");
         }
     }
 }
Beispiel #13
0
 /// <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);
     }
 }
Beispiel #14
0
        /// <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);
            }
        }
Beispiel #15
0
        /// <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));
 }
Beispiel #17
0
 public IoInerface(AdvParamManager param, AdvParamData.FileType fileType)
 {
     Param    = param;
     FileType = fileType;
 }
Beispiel #18
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="path">セーブデータのファイルパス</param>
 public AdvSaveData(SaveDataType type, string path)
 {
     this.type  = type;
     this.path  = path;
     this.Param = new AdvParamManager();
 }
Beispiel #19
0
 /// <summary>
 /// if文の開始
 /// </summary>
 /// <param name="param">判定に使う数値パラメーター</param>
 /// <param name="exp">判定式</param>
 internal void BeginIf(AdvParamManager param, ExpressionParser exp)
 {
     IsIf      = param.CalcExpressionBoolean(exp);
     isSkpping = !IsIf;
 }
Beispiel #20
0
        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;
        }
Beispiel #21
0
 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));
 }