public override Condition GetClone(StoryNode parent) { var retValue = base.GetClone(parent) as OrCondition; retValue.childConditions = _childConditionDefinitions.GetConcreteTypes(parent); return(retValue); }
public override Effect GetClone(StoryNode parent) { var retValue = base.GetClone(parent) as RandomEffect; retValue.effects = _effectDefinitions.GetConcreteTypes(parent); return(retValue); }
public override Effect GetClone(StoryNode parent) { var clone = base.GetClone(parent) as BreakLoopEffect; clone.original = this; return(clone); }
public StoryHolder(Location owner) { this.owner = owner; lifeStoryNode = new StoryNode(); lifeStoryNode.parentLocation = owner; activeStories = new List <StoryNode>(); }
public override Condition GetClone(StoryNode parent) { var retValue = base.GetClone(parent) as DecoratorCondition; if (_childConditionDefinition != null) { retValue.childCondition = _childConditionDefinition.GetConcreteType(parent); } else { retValue.childCondition = new TrueCondition(); } return(retValue); }
public void RemoveStory(string definitionKey) { StoryNode storyNodeToRemove = null; foreach (var storyNode in activeStories) { if (storyNode.definition.definitionKey == definitionKey) { storyNodeToRemove = storyNode; } } if (storyNodeToRemove != null) { activeStories.Remove(storyNodeToRemove); } }
public override Effect GetClone(StoryNode parent) { var retValue = base.GetClone(parent) as ConditionalEffect; if (_type == ConditionalType.SinglePair) { retValue.conditions = _conditionDefinitions.GetConcreteTypes(parent); retValue.effects = _effectDefinitions.GetConcreteTypes(parent); retValue.elseEffects = _elseEffectDefinitions.GetConcreteTypes(parent); } else if (_type == ConditionalType.MultiplePairs) { retValue._conditionEffectPairs = new KeyValuePair <Condition[], Effect[]> [_conditionEffectPairsDefinition.Length]; for (int i = 0; i < _conditionEffectPairsDefinition.Length; i++) { retValue._conditionEffectPairs[i] = new KeyValuePair <Condition[], Effect[]>( _conditionEffectPairsDefinition[i].Key.GetConcreteTypes(parent), _conditionEffectPairsDefinition[i].Value.GetConcreteTypes(parent) ); } } return(retValue); }
public virtual TChild GetClone(StoryNode parent) { this.parentStoryNode = parent; return((TChild)MemberwiseClone()); }