public override void SavePosition(ICrowdMember c) { var position = (c as Character).Position.Clone(false); if (this.SavedPositions.ContainsKey(c.Name)) { this.SavedPositions[c.Name] = position; } else { this.SavedPositions.Add(c.Name, (c as Character).Position.Clone(false)); } }
public override void Place(ICrowdMember crowdMember, bool completeEvent = true) { IMemoryElementPosition pos; if (this.SavedPositions.TryGetValue(crowdMember.Name, out pos)) { CrowdMemberModel model = crowdMember as CrowdMemberModel; model.Position = pos.Clone(false, (model.Position as MemoryInstance).GetTargetPointer()); //model.Target(false); //model.ActiveIdentity.RenderWithoutAnimation(completeEvent, model); } else if (this.Name == Constants.ALL_CHARACTER_CROWD_NAME) { CrowdMemberModel model = crowdMember as CrowdMemberModel; if (model.SavedPosition != null) { MemoryInstance memIns = (model.Position as MemoryInstance); uint x = memIns.GetTargetPointer(); model.Position = model.SavedPosition.Clone(false, x); } } }
public virtual void Place(ICrowdMember crowdMember, bool completeEvent = true) { }
public virtual void SavePosition(ICrowdMember c) { }