public Spaceship CreateSpaceship(string name, SpaceshipType type) { ISpaceshipBuilder builder = new SpaceshipBuilder(name); switch (type) { case SpaceshipType.Combat: builder.BuildFuselage(Fuselage.SemiMonocoque); builder.BuildEngines(Engines.Photonic); builder.BuildAvionics(Avionics.Rockwell); builder.BuildWeaponry(Weaponry.Missile); builder.BuildType(SpaceshipType.Combat); return(builder.BuildSpaceship()); case SpaceshipType.Defense: builder.BuildFuselage(Fuselage.Monocoque); builder.BuildEngines(Engines.Quantum); builder.BuildAvionics(Avionics.Bendix); builder.BuildWeaponry(Weaponry.Kinetic); builder.BuildType(SpaceshipType.Defense); return(builder.BuildSpaceship()); case SpaceshipType.Transport: builder.BuildFuselage(Fuselage.Framework); builder.BuildEngines(Engines.FTL); builder.BuildAvionics(Avionics.Proline); builder.BuildWeaponry(Weaponry.Beam); builder.BuildType(SpaceshipType.Transport); return(builder.BuildSpaceship()); } return(null); }
public SpaceshipType GetSpaceshipTypeByIndex(int index) { SpaceshipType st_found = null; foreach (SpaceshipType st in spaceshipTypes) { if (st.index == index) { st_found = st; break; } } return(st_found); }
public SpaceshipType GetSpaceshipTypeByName(string name) { SpaceshipType st_found = null; foreach (SpaceshipType st in spaceshipTypes) { if (st.typeName == name) { st_found = st; break; } } return(st_found); }
public void SpawnSpaceshipOfType(SpaceshipType spaceshipType) { Debug.Log("SpawnSpaceshipOfType [" + spaceshipType.typeName + "]"); GameObject instantiatedSpaceship = Instantiate(spaceshipType.prefab, newGameSpaceshipPosition.transform.position, Quaternion.Euler(0, 90, 0)); // Set attributes AllySpaceship spaceship = instantiatedSpaceship.GetComponent <AllySpaceship>(); spaceship.Initialize(); spaceship.SetSpaceshipType(spaceshipType); spaceship.homeSpaceport = null; instantiatedSpaceship.transform.SetParent(spaceshipsParent); AddAlliedSpaceshipToList(instantiatedSpaceship); UpdateFleetPointsInfo(); }
public GameObject SpawnSpaceshipTypeAtPos(SpaceshipType sType, GeometryManager.Position pos) { //Debug.Log("Spawning saved spaceship"); GameObject instantiatedSpaceship = Instantiate(sType.prefab, new Vector3(pos.x, pos.y, pos.z), Quaternion.identity); // Attribute ID to spaceship AllySpaceship allyS = instantiatedSpaceship.GetComponent <AllySpaceship>(); allyS.Initialize(); allyS.id = GetAvailableSpaceshipId(); allyS.spaceshipType = sType; AddAlliedSpaceshipToList(instantiatedSpaceship); instantiatedSpaceship.transform.SetParent(spaceshipsParent.transform); UpdateFleetPointsInfo(); return(instantiatedSpaceship); }