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);
        }
示例#2
0
        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);
        }
示例#3
0
 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
 }
示例#6
0
        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);
        }
示例#8
0
        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);
        }
示例#10
0
        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);
        }
示例#11
0
 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));
 }