/******************** * Movement factory * ***************/ public static Movement createMovement(MovementType type, Entity entity, Mover mover, Vector3 from, Vector3 to, Cell origin, Cell destination, Dictionary <string, object> mParams) { Movement movement = null; switch (type) { case MovementType.Lineal: movement = new LinealMovement(); break; case MovementType.Parabolic: movement = new ParabolicMovement(); break; case MovementType.Instant: movement = new InstantMovement(); break; case MovementType.Turn: movement = new TurnMovement(); break; case MovementType.Fade: movement = new FadeMovement(); break; default: movement = new LinealMovement(); break; } movement.setParams(mParams); movement.origin = origin; movement.destination = destination; movement.from = from; movement.to = to; movement.entity = entity; movement.mover = mover; return(movement); }
public static GenericMovement MovementFromStruct(ManeuverHolder movementStruct) { GenericMovement result = null; if (movementStruct.Bearing == ManeuverBearing.Straight) { result = new StraightMovement(movementStruct.SpeedIntUnsigned, movementStruct.Direction, movementStruct.Bearing, movementStruct.ColorComplexity); } else if (movementStruct.Bearing == ManeuverBearing.KoiogranTurn) { result = new KoiogranTurnMovement(movementStruct.SpeedIntUnsigned, movementStruct.Direction, movementStruct.Bearing, movementStruct.ColorComplexity); } else if (movementStruct.Bearing == ManeuverBearing.Turn) { result = new TurnMovement(movementStruct.SpeedIntUnsigned, movementStruct.Direction, movementStruct.Bearing, movementStruct.ColorComplexity); } else if (movementStruct.Bearing == ManeuverBearing.Bank) { result = new BankMovement(movementStruct.SpeedIntUnsigned, movementStruct.Direction, movementStruct.Bearing, movementStruct.ColorComplexity); } else if (movementStruct.Bearing == ManeuverBearing.SegnorsLoop) { result = new SegnorsLoopMovement(movementStruct.SpeedIntUnsigned, movementStruct.Direction, movementStruct.Bearing, movementStruct.ColorComplexity); } else if (movementStruct.Bearing == ManeuverBearing.SegnorsLoopUsingTurnTemplate) { result = new SegnorsLoopUsingTurnTemplateMovement(movementStruct.SpeedIntUnsigned, movementStruct.Direction, movementStruct.Bearing, movementStruct.ColorComplexity); } else if (movementStruct.Bearing == ManeuverBearing.TallonRoll) { result = new TallonRollMovement(movementStruct.SpeedIntUnsigned, movementStruct.Direction, movementStruct.Bearing, movementStruct.ColorComplexity); } else if (movementStruct.Bearing == ManeuverBearing.Stationary) { result = new StationaryMovement(movementStruct.SpeedIntUnsigned, movementStruct.Direction, movementStruct.Bearing, movementStruct.ColorComplexity); } else if (movementStruct.Bearing == ManeuverBearing.SideslipBank) { result = new SideslipBankMovement(movementStruct.SpeedIntUnsigned, movementStruct.Direction, movementStruct.Bearing, movementStruct.ColorComplexity); } else if (movementStruct.Bearing == ManeuverBearing.SideslipTurn) { result = new SideslipTurnMovement(movementStruct.SpeedIntUnsigned, movementStruct.Direction, movementStruct.Bearing, movementStruct.ColorComplexity); } else if (movementStruct.Bearing == ManeuverBearing.ReverseStraight) { if (movementStruct.Direction == ManeuverDirection.Forward) { result = new ReverseStraightMovement(movementStruct.SpeedIntUnsigned, movementStruct.Direction, movementStruct.Bearing, movementStruct.ColorComplexity); } else { result = new ReverseBankMovement(movementStruct.SpeedIntUnsigned, movementStruct.Direction, movementStruct.Bearing, movementStruct.ColorComplexity); } } return(result); }
// Use this for initialization void Start() { GameObject thePlayer = GameObject.Find("player"); TurnMovement turnMovement = thePlayer.GetComponent <TurnMovement>(); }
/******************** * Movement factory * ***************/ public static Movement createMovement(MovementType type, Entity entity, Mover mover, Decoration dec, IsoDecoration sheet, Vector3 from, Vector3 to, Cell origin, Cell destination, Dictionary<string, object> mParams) { Movement movement = null; switch(type){ case MovementType.Lineal: movement = new LinealMovement(); break; case MovementType.Parabolic: movement = new ParabolicMovement(); break; case MovementType.Instant: movement = new InstantMovement(); break; case MovementType.Turn: movement = new TurnMovement(); break; default: movement = new LinealMovement(); break; } movement.setParams(mParams); movement.origin = origin; movement.destination = destination; movement.from = from; movement.to = to; movement.entity = entity; movement.dec = dec; movement.sheet = sheet; movement.mover = mover; return movement; }