public new object Clone() { MovingObstacleSpawner spawner = new MovingObstacleSpawner(ID, ActorType, StatusType, Transform3D.Clone() as Transform3D, EffectParameters.Clone() as EffectParameters, IVertexData.Clone() as IVertexData, CollisionPrimitive.Clone() as ICollisionPrimitive, ObjectManager); spawner.ControllerList.AddRange(GetControllerListClone()); return(spawner); }
public new object Clone() { CollidablePrimitiveObject primitive = new CollidablePrimitiveObject(ID, ActorType, StatusType, Transform3D.Clone() as Transform3D, EffectParameters.Clone() as EffectParameters, IVertexData.Clone() as IVertexData, CollisionPrimitive.Clone() as ICollisionPrimitive, ObjectManager); primitive.ControllerList.AddRange(GetControllerListClone()); return(primitive); }
public new object Clone() { return(new CollidableObject("clone - " + ID, //deep ActorType, //deep StatusType, Transform3D.Clone() as Transform3D, //deep EffectParameters.Clone() as EffectParameters, //hybrid - shallow (texture and effect) and deep (all other fields) Model)); //shallow i.e. a reference }
public new object Clone() { MovingPlatformTile platform = new MovingPlatformTile("clone - " + ID, ActorType, StatusType, Transform3D.Clone() as Transform3D, EffectParameters.Clone() as OurEffectParameters, Model, IsBlocking, TileType); platform.ControllerList.AddRange(GetControllerListClone()); return(platform); }
public new object Clone() { return(new CollidablePickupObject("clone - " + ID, //deep ActorType, //deep StatusType, //deep Transform3D.Clone() as Transform3D, //deep EffectParameters.Clone() as EffectParameters, //deep this.IVertexData, //shallow - its ok if objects refer to the same vertices CollisionPrimitive.Clone() as ICollisionPrimitive, //deep ObjectManager, //shallow - reference pickupParameters.Clone() as PickupParameters)); //deep }
public new object Clone() { PrimitiveObject clone = new PrimitiveObject(ID, ActorType, StatusType, Transform3D.Clone() as Transform3D, EffectParameters.Clone() as EffectParameters, vertexData.Clone() as IVertexData); //if we ever want to clone prims that ALREADY have controllers //then we need to add cloning of controllers here foreach (Controller controller in this.ControllerList) { clone.ControllerList.Add(controller.Clone() as Controller); } return(clone); }
public new object Clone() { ActivatableTile activatableTile = new ActivatableTile("clone - " + ID, ActorType, StatusType, Transform3D.Clone() as Transform3D, EffectParameters.Clone() as OurEffectParameters, Model, IsBlocking, TileType); if (ControllerList != null) { foreach (IController controller in ControllerList) { activatableTile.ControllerList.Add(controller.Clone() as IController); } } return(activatableTile); }
public new object Clone() { ModelObject actor = new ModelObject("clone - " + ID, //deep ActorType, //deep StatusType, Transform3D.Clone() as Transform3D, //deep EffectParameters.Clone() as EffectParameters, //hybrid - shallow (texture and effect) and deep (all other fields) model); //shallow i.e. a reference //remember if we clone a model then we need to clone any attached controllers if (ControllerList != null) { //clone each of the (behavioural) controllers foreach (IController controller in ControllerList) { actor.ControllerList.Add(controller.Clone() as IController); } } return(actor); }
public new object Clone() { AttachableTile attachableTile = new AttachableTile(ID, ActorType, StatusType, Transform3D.Clone() as Transform3D, EffectParameters.Clone() as OurEffectParameters, Model, TileType); attachableTile.ControllerList.AddRange(GetControllerListClone()); return(attachableTile); }
public new object Clone() { PlayerTile playerTile = new PlayerTile("clone - " + ID, ActorType, StatusType, Transform3D.Clone() as Transform3D, EffectParameters.Clone() as OurEffectParameters, Model, TileType); playerTile.ControllerList.AddRange(GetControllerListClone()); return(playerTile); }
public new object Clone() { return(new DrawnActor3D(ID, ActorType, StatusType, Transform3D.Clone() as Transform3D, effectParameters.Clone() as EffectParameters)); }
public new object Clone() { return(new OurPrimitiveObject(ID, ActorType, StatusType, Transform3D.Clone() as Transform3D, EffectParameters.Clone() as OurEffectParameters, IVertexData.Clone() as IVertexData)); }
public new object Clone() { return(new OurCollidableObject("clone - " + ID, ActorType, StatusType, Transform3D.Clone() as Transform3D, EffectParameters.Clone() as OurEffectParameters, Model, IsBlocking)); }