//_newValue.Name => name of trait or relationship
        //_newValue.LiteralValueOrBoundVarName => literal value or variable bound value of trait or relationship strength
        //_newTarget.Name => name of relationship (should be same as _newValue.Name)
        //_newTarget.LiteralValueOrBoundVarName => character variable that is bound to new relationship
        public ActionEditObject(UInt64 parentPlotFragmentId, string varObjectName, UInt64 objectTypeId, ObjectEditingMode mode, StoryData world)
            : base(parentPlotFragmentId, world)
        {
            _varObjectName = varObjectName;
            _varObjectTypeId = objectTypeId;
            _mode = mode;

            //Find editing type
            if (objectTypeId == world.CharTypeId) //Character
            {
                _newValue = new Parameter("Name", TraitDataType.Text, false, world);
                _newTarget = new Parameter("", TraitDataType.Text, true, world);
            }
            else if (objectTypeId == world.EnvTypeId) //Environment
            {
                _newValue = new Parameter("Name", TraitDataType.Text, false, world);
                _newTarget = new Parameter("", TraitDataType.Text, true, world);
            }
            else //Plot Point
            {
                PlotPointType currType = world.findPlotPointTypeById(objectTypeId);

                _newValue = new Parameter(currType.Traits[0].Name, currType.Traits[0].Type, false, world);
                _newTarget = new Parameter("", TraitDataType.Text, true, world);
            }
        }
示例#2
0
        private Parameter _newTarget; //for relationship target (always bound to variable)

        //_newValue.Name => name of trait or relationship
        //_newValue.LiteralValueOrBoundVarName => literal value or variable bound value of trait or relationship strength
        //_newTarget.Name => name of relationship (should be same as _newValue.Name)
        //_newTarget.LiteralValueOrBoundVarName => character variable that is bound to new relationship

        public ActionEditObject(UInt64 parentPlotFragmentId, string varObjectName, UInt64 objectTypeId, ObjectEditingMode mode, StoryData world) :
            base(parentPlotFragmentId, world)
        {
            _varObjectName   = varObjectName;
            _varObjectTypeId = objectTypeId;
            _mode            = mode;


            //Find editing type
            if (objectTypeId == world.CharTypeId) //Character
            {
                _newValue  = new Parameter("Name", TraitDataType.Text, false, world);
                _newTarget = new Parameter("", TraitDataType.Text, true, world);
            }
            else if (objectTypeId == world.EnvTypeId) //Environment
            {
                _newValue  = new Parameter("Name", TraitDataType.Text, false, world);
                _newTarget = new Parameter("", TraitDataType.Text, true, world);
            }
            else //Plot Point
            {
                PlotPointType currType = world.findPlotPointTypeById(objectTypeId);

                _newValue  = new Parameter(currType.Traits[0].Name, currType.Traits[0].Type, false, world);
                _newTarget = new Parameter("", TraitDataType.Text, true, world);
            }
        }