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
 }
Example #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);
        }
        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);
        }