コード例 #1
0
 /// <summary>
 /// 將index位置的TrueEffect資料替換成oneData,如果list數量不足,填null直到index指示的位置。
 /// </summary>
 /// <param name="index">要替換的資料位置</param>
 /// <param name="oneData">新資料</param>
 /// <returns>是否有資料被覆蓋</returns>
 public bool AddOrReplaceTrueEffectData(int index, GameEventEffectData oneData)
 {
     if (index >= _trueEffect.Count)
     {
         for (int i = _trueEffect.Count; i <= index; ++i)
         {
             _trueEffect.Add(GameEventEffect.CreateGameEventEffect(null));
         }
     }
     bool haveData = (_trueEffect[index].GetType() != typeof(GameEventEffect)); // 型別不等於base型別,表示有資料會被蓋掉
     _trueEffect[index] = GameEventEffect.CreateGameEventEffect(oneData);
     return haveData;
 }
コード例 #2
0
ファイル: GameEvnet.cs プロジェクト: HEIENTAI/SoulOfSword
    // ushort? type, ushort?[] para)
    public static GameEventEffect CreateGameEventEffect(GameEventEffectData data)
    {
        GameEventEffectType gameEventEffectType;

        if (data == null)
        {
            gameEventEffectType = GameEventEffectType.None;
        }
        else
        {
            if (data.EffectType.HasValue && Enum.IsDefined(typeof(GameEventEffectType), data.EffectType.Value))
            {
                gameEventEffectType = (GameEventEffectType)data.EffectType.Value;
            }
            else
            {
                gameEventEffectType = GameEventEffectType.None;
            }
        }
        switch (gameEventEffectType)
        {
            case GameEventEffectType.Transport:
                return new GameEventEffect_Transport(data.EffectParameter);
            default:
                return new GameEventEffect();
        }
    }