Ejemplo n.º 1
0
        /// <summary>
        /// Adds the Instance to the instances and Group lists. Also sets the PQSCity.name
        /// </summary>
        /// <param name="instance"></param>
        internal static void AddStatic(StaticInstance instance)
        {
            if (string.IsNullOrEmpty(instance.UUID))
            {
                instance.UUID = GetNewUUID();
            }

            _allStaticInstances.Add(instance);
            allStaticInstances = _allStaticInstances.ToArray();

            instancedByUUID.Add(instance.UUID, instance);

            String bodyName  = instance.CelestialBody.bodyName;
            String groupName = instance.Group;

            if (!groupList.ContainsKey(bodyName))
            {
                groupList.Add(bodyName, new Dictionary <string, StaticGroup>());
            }

            if (!groupList[bodyName].ContainsKey(groupName))
            {
                StaticGroup group = new StaticGroup(groupName, bodyName);
                groupList[bodyName].Add(groupName, group);
            }
            groupList[bodyName][groupName].AddStatic(instance);

            SetNewName(instance);

            instance.groupCenter.AddInstance(instance);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Changes the group from a instance
        /// </summary>
        /// <param name="instance"></param>
        /// <param name="newGroup"></param>
        internal static void ChangeGroup(StaticInstance instance, string newGroup)
        {
            String bodyName  = instance.CelestialBody.bodyName;
            String groupName = instance.Group;

            instance.Group = newGroup;

            if (groupList.ContainsKey(bodyName))
            {
                if (groupList[bodyName].ContainsKey(groupName))
                {
                    Log.Normal("StaticDatabase deleteObject");
                    groupList[bodyName][groupName].RemoveStatic(instance);
                }
            }

            if (!groupList.ContainsKey(bodyName))
            {
                groupList.Add(bodyName, new Dictionary <string, StaticGroup>());
            }

            if (!groupList[bodyName].ContainsKey(newGroup))
            {
                StaticGroup group = new StaticGroup(newGroup, bodyName);
                groupList[bodyName].Add(newGroup, group);
            }
            groupList[bodyName][newGroup].AddStatic(instance);

            SetNewName(instance);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Adds the Instance to the instances and Group lists. Also sets the PQSCity.name
        /// </summary>
        /// <param name="instance"></param>
        internal static void AddStatic(StaticInstance instance)
        {
            _allStaticInstances.Add(instance);
            allStaticInstances = _allStaticInstances.ToArray();

            String bodyName  = instance.CelestialBody.bodyName;
            String groupName = instance.Group;

            if (!groupList.ContainsKey(bodyName))
            {
                groupList.Add(bodyName, new Dictionary <string, StaticGroup>());
            }

            if (!groupList[bodyName].ContainsKey(groupName))
            {
                StaticGroup group = new StaticGroup(groupName, bodyName);
                if (groupName == "Ungrouped")
                {
                    group.alwaysActive = true;
                }
                group.active = true;
                groupList[bodyName].Add(groupName, group);
            }
            groupList[bodyName][groupName].AddStatic(instance);

            SetNewName(instance);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Changes the group from a instance
        /// </summary>
        /// <param name="instance"></param>
        /// <param name="newGroup"></param>
        internal static void ChangeGroup(StaticInstance instance, GroupCenter newGroup)
        {
            String bodyName  = instance.CelestialBody.bodyName;
            String groupName = instance.Group;


            instance.groupCenter.RemoveInstance(instance);

            if (groupList.ContainsKey(bodyName))
            {
                if (groupList[bodyName].ContainsKey(groupName))
                {
                    Log.Normal("StaticDatabase deleteObject");
                    groupList[bodyName][groupName].RemoveStatic(instance);
                }
            }



            instance.Group       = newGroup.Group;
            instance.groupCenter = newGroup;


            bodyName  = instance.CelestialBody.bodyName;
            groupName = instance.Group;

            if (!groupList.ContainsKey(bodyName))
            {
                groupList.Add(bodyName, new Dictionary <string, StaticGroup>());
            }

            if (!groupList[bodyName].ContainsKey(groupName))
            {
                StaticGroup group = new StaticGroup(groupName, bodyName);
                groupList[bodyName].Add(groupName, group);
            }
            groupList[bodyName][groupName].AddStatic(instance);

            SetNewName(instance);

            instance.groupCenter.AddInstance(instance);

            instance.gameObject.transform.parent = instance.groupCenter.gameObject.transform;
        }