public void MoveToSystem(Entity_StarSystem system)
        {
            // Remove player from old system
            if (System != null)
            {
                System.RemovePlayer();
            }

            // Move player
            System = system;

            // Add player to new system
            if (System != null)
            {
                // Lerp towards new system, unless it is the first
                if (!TargetSet)
                {
                    X         = System.X;
                    Y         = System.Y;
                    TargetSet = true;
                }
                Target = new Vector2(System.X, System.Y);

                System.AddPlayerArmy(this);
            }
        }
        public void Initialise()
        {
            // Draw routes between the systems
            StarRoutes = new Entity_StarRoutes(Scene, StarConnections.ToArray(), StarPositions.ToArray(), Program.PATH_PA, Program.PATH_MOD);

            // Create the systems
            int systemid = 0;

            foreach (Vector2 pos in StarPositions)
            {
                Entity_StarSystem starsystem = new Entity_StarSystem(Scene, pos.X, pos.Y, Program.PATH_PA, Program.PATH_MOD);
                {
                    starsystem.Index = StarSystems.Count;
                    starsystem.Owner = StarOwners.ElementAt(systemid);
                }
                StarSystems.Add(starsystem);

                systemid++;
            }

            // Save neighbours to each star system
            Generate_SaveNeighbour();

            TryAddToScene();
        }
        // Called from outside: Useful for identifying systems by their unique ID rather than their array index
        public Entity_StarSystem GetSystemByID(int systemid)
        {
            Entity_StarSystem system = null;

            {
                foreach (Entity_StarSystem starsystem in StarSystems)
                {
                    if (starsystem.Index == systemid)
                    {
                        system = starsystem;
                        break;
                    }
                }
            }
            return(system);
        }
Пример #4
0
 public void AddConnection(Entity_StarSystem other)
 {
     Neighbours.Add(other);
 }