示例#1
0
        static public CommonValues Create(Data.CommonValues value)
        {
            var s_value = new CommonValues();

            s_value.RefEqMaxGeneration           = value.MaxGeneration.DynamicEquation.Index;
            s_value.RefEqLifeMax                 = value.Life.DynamicEquationMax.Index;
            s_value.RefEqLifeMin                 = value.Life.DynamicEquationMin.Index;
            s_value.RefEqGenerationTimeMax       = value.GenerationTime.DynamicEquationMax.Index;
            s_value.RefEqGenerationTimeMin       = value.GenerationTime.DynamicEquationMin.Index;
            s_value.RefEqGenerationTimeOffsetMax = value.GenerationTimeOffset.DynamicEquationMax.Index;
            s_value.RefEqGenerationTimeOffsetMin = value.GenerationTimeOffset.DynamicEquationMin.Index;

            s_value.MaxCreation = value.MaxGeneration.Value;
            if (value.MaxGeneration.Infinite)
            {
                s_value.MaxCreation = int.MaxValue;
            }

            s_value.TranslationEffectType = value.LocationEffectType.GetValueAsInt();
            s_value.RotationEffectType    = value.RotationEffectType.GetValueAsInt();
            s_value.ScalingEffectType     = value.ScaleEffectType.GetValueAsInt();

            if (value.RemoveWhenLifeIsExtinct)
            {
                s_value.RemoveWhenLifeIsExtinct = 1;
            }
            else
            {
                s_value.RemoveWhenLifeIsExtinct = 0;
            }

            if (value.RemoveWhenParentIsRemoved)
            {
                s_value.RemoveWhenParentIsRemoved = 1;
            }
            else
            {
                s_value.RemoveWhenParentIsRemoved = 0;
            }

            if (value.RemoveWhenAllChildrenAreRemoved)
            {
                s_value.RemoveWhenChildrenIsExtinct = 1;
            }
            else
            {
                s_value.RemoveWhenChildrenIsExtinct = 0;
            }

            s_value.Life_Max               = value.Life.Max;
            s_value.Life_Min               = value.Life.Min;
            s_value.CreationTime_Max       = value.GenerationTime.Max;
            s_value.CreationTime_Min       = value.GenerationTime.Min;
            s_value.CreationTimeOffset_Max = value.GenerationTimeOffset.Max;
            s_value.CreationTimeOffset_Min = value.GenerationTimeOffset.Min;

            return(s_value);
        }
示例#2
0
        public static byte[] GetBytes(Data.CommonValues value)
        {
            List <byte[]> data = new List <byte[]>();

            var bytes = CommonValues.Create(value).GetBytes();

            data.Add(bytes.Count().GetBytes());
            data.Add(bytes);

            return(data.ToArray().ToArray());
        }
示例#3
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 internal Node(NodeBase parent)
     : base(parent)
 {
     Name.SetValueDirectly("Node");
     CommonValues = new Data.CommonValues();
     LocationValues = new Data.LocationValues();
     RotationValues = new Data.RotationValues();
     ScalingValues = new Data.ScaleValues();
     LocationAbsValues = new Data.LocationAbsValues();
     GenerationLocationValues = new Data.GenerationLocationValues();
     RendererCommonValues = new Data.RendererCommonValues();
     DrawingValues = new RendererValues();
     SoundValues = new SoundValues();
 }
示例#4
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 internal Node(NodeBase parent)
     : base(parent)
 {
     Name.SetValueDirectly("Node");
     CommonValues             = new Data.CommonValues();
     LocationValues           = new Data.LocationValues();
     RotationValues           = new Data.RotationValues();
     ScalingValues            = new Data.ScaleValues();
     LocationAbsValues        = new Data.LocationAbsValues();
     GenerationLocationValues = new Data.GenerationLocationValues();
     RendererCommonValues     = new Data.RendererCommonValues();
     DrawingValues            = new RendererValues();
     SoundValues = new SoundValues();
 }
示例#5
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        internal Node(NodeBase parent)
            : base(parent)
        {
            Name.SetValueDirectly("Node");
            CommonValues             = new Data.CommonValues();
            LocationValues           = new Data.LocationValues();
            RotationValues           = new Data.RotationValues();
            ScalingValues            = new Data.ScaleValues();
            LocationAbsValues        = new Data.LocationAbsValues();
            GenerationLocationValues = new Data.GenerationLocationValues();
            DepthValues          = new DepthValues();
            RendererCommonValues = new Data.RendererCommonValues();
            DrawingValues        = new RendererValues();
            SoundValues          = new SoundValues();
#if __EFFEKSEER_BUILD_VERSION16__
            AdvancedRendererCommonValuesValues = new Data.AdvancedRenderCommonValues();
#endif
        }
示例#6
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        internal Node(NodeBase parent)
            : base(parent)
        {
            Path basepath = GetRoot().GetPath();

            Name.SetValueDirectly("Node");
            CommonValues             = new Data.CommonValues();
            LocationValues           = new Data.LocationValues(basepath);
            RotationValues           = new Data.RotationValues();
            ScalingValues            = new Data.ScaleValues();
            LocationAbsValues        = new Data.LocationAbsValues();
            GenerationLocationValues = new Data.GenerationLocationValues(basepath);
            DepthValues          = new DepthValues();
            RendererCommonValues = new Data.RendererCommonValues(basepath);
            DrawingValues        = new RendererValues(basepath);
            SoundValues          = new SoundValues(basepath);
            AdvancedRendererCommonValuesValues = new Data.AdvancedRenderCommonValues(basepath);
        }
示例#7
0
        public static byte[] GetBytes(Data.CommonValues value, ExporterVersion version)
        {
            List <byte[]> data = new List <byte[]>();

            var bytes = CommonValues.Create(value).GetBytes();

            data.Add(bytes.Count().GetBytes());
            data.Add(bytes);

            if (value.LocationEffectType == Data.TranslationParentEffectType.NotBind_FollowParent ||
                value.LocationEffectType == Data.TranslationParentEffectType.WhenCreating_FollowParent)
            {
                data.Add(value.SteeringBehaviorParam.MaxFollowSpeed.Max.GetBytes());
                data.Add(value.SteeringBehaviorParam.MaxFollowSpeed.Min.GetBytes());
                data.Add(value.SteeringBehaviorParam.SteeringSpeed.Max.GetBytes());
                data.Add(value.SteeringBehaviorParam.SteeringSpeed.Min.GetBytes());
            }

            if (version >= ExporterVersion.Ver17Alpha1)
            {
                // Trigger's parameters
                int triggerFlags =
                    ((value.TriggerParam.ToStartGeneration.Value != Data.TriggerType.None) ? (1 << 0) : 0) |
                    ((value.TriggerParam.ToStopGeneration.Value != Data.TriggerType.None) ? (1 << 1) : 0) |
                    ((value.TriggerParam.ToRemove.Value != Data.TriggerType.None) ? (1 << 2) : 0);
                data.Add(((byte)triggerFlags).GetBytes());

                if (value.TriggerParam.ToStartGeneration.Value != Data.TriggerType.None)
                {
                    data.Add(((ushort)value.TriggerParam.ToStartGeneration.GetValue()).GetBytes());
                }
                if (value.TriggerParam.ToStopGeneration.Value != Data.TriggerType.None)
                {
                    data.Add(((ushort)value.TriggerParam.ToStopGeneration.GetValue()).GetBytes());
                }
                if (value.TriggerParam.ToRemove.Value != Data.TriggerType.None)
                {
                    data.Add(((ushort)value.TriggerParam.ToRemove.GetValue()).GetBytes());
                }
            }

            return(data.ToArray().ToArray());
        }
示例#8
0
        public static byte[] GetBytes(Data.CommonValues value)
        {
            List <byte[]> data = new List <byte[]>();

            var bytes = CommonValues.Create(value).GetBytes();

            data.Add(bytes.Count().GetBytes());
            data.Add(bytes);

            if (value.LocationEffectType == Data.TranslationParentEffectType.NotBind_FollowParent ||
                value.LocationEffectType == Data.TranslationParentEffectType.WhenCreating_FollowParent)
            {
                data.Add(value.SteeringBehaviorParam.MaxFollowSpeed.Max.GetBytes());
                data.Add(value.SteeringBehaviorParam.MaxFollowSpeed.Min.GetBytes());
                data.Add(value.SteeringBehaviorParam.SteeringSpeed.Max.GetBytes());
                data.Add(value.SteeringBehaviorParam.SteeringSpeed.Min.GetBytes());
            }

            return(data.ToArray().ToArray());
        }