Ejemplo n.º 1
0
        // Создание префаба сферы планетарной планеты
        public static GameObject CreatePlanetSphere(PlanetType APlanetType, PlanetMode aMode)
        {
            string LPrefabPath = "PL/Planet/";
            int    LSkinID;
            string LPrefabPlanetSphereType = APlanetType.ToString();

            // Временное украшательство
            if (APlanetType == PlanetType.Earth && aMode == PlanetMode.Big)
            {
                LPrefabPlanetSphereType = "Big";
                LSkinID = Random.Range(1, 4);
            }
            else if (APlanetType == PlanetType.Earth && aMode == PlanetMode.Normal)
            {
                LPrefabPlanetSphereType = "Small";
                LSkinID = Random.Range(1, 4);
            }
            else
            if (APlanetType == PlanetType.Hydro)
            {
                LSkinID = Random.Range(1, 3);
            }
            else
            if (APlanetType == PlanetType.Sun)
            {
                LSkinID = 2;
            }
            else
            {
                LSkinID = 1;
            }
            string LPrefabPlanetSphere = LPrefabPlanetSphereType + "/pfPLPlanetSphere" + LPrefabPlanetSphereType + LSkinID.ToString();

            return(Create(LPrefabPath + LPrefabPlanetSphere, Vector3.zero));
        }
Ejemplo n.º 2
0
            public bool Generate(ChunkGenerateInfo info, out IChunkObject generated)
            {
                generated = null;
                float noise = Seed.GetNoise(info.maxPos, perlinScale, originIndex);

                if (noise < minLimit)
                {
                    return(false);
                }
                GameObject go = new GameObject(type.ToString());

                go.transform.position = new Vector3(info.maxPos.x + (info.maxValue - 0.4f) * 10, info.maxPos.y + (info.maxValue - 0.4f) * 5, 0);

                if (type == PlanetType.PLANET)
                {
                    generated = go.AddComponent <Planet>();
                    ((Planet)generated).GeneratePlanet(noise);
                }
                else if (type == PlanetType.SUN)
                {
                    generated = go.AddComponent <Sun>();
                    go.transform.localScale *= 20 * (noise * noise + 0.5f);
                }
                else if (type == PlanetType.BLACKHOLE)
                {
                    generated = go.AddComponent <BlackHole>();
                    go.transform.localScale *= 20 * (noise * noise + 0.5f);
                }
                return(true);
            }
Ejemplo n.º 3
0
        public virtual void SaveToXML(XmlElement objOrbit)
        {
            var nfi = System.Globalization.NumberFormatInfo.InvariantInfo;

            var xePlanet = objOrbit.OwnerDocument.CreateElement("Planet");

            objOrbit.AppendChild(xePlanet);
            Common.CreateTextNode(xePlanet, "Type", PlanetType.ToString());
            Common.CreateTextNode(xePlanet, "Dense", Dense.ToString());
            Common.CreateTextNode(xePlanet, "Mass", Mass.ToString());
            Common.CreateTextNode(xePlanet, "Gravity", Grav.ToString());
            Common.CreateTextNode(xePlanet, "Pressure", Pressure.ToString());
            Common.CreateTextNode(xePlanet, "MaxPop", Maxpop.ToString());
            Common.CreateTextNode(xePlanet, "OrbitRange", OrbitRange.ToString());
            Common.CreateTextNode(xePlanet, "OrbitNumber", OrbitNumber.ToString());
            Common.CreateTextNode(xePlanet, "Tilt", Tilt.ToString());
            Common.CreateTextNode(xePlanet, "Ecc", Ecc.ToString());
            Common.CreateTextNode(xePlanet, "Rotation", Rotation.ToString());
            Common.CreateTextNode(xePlanet, "TidallyLocked", TidallyLocked.ToString());
            Common.CreateTextNode(xePlanet, "Temp", Temp.ToString());
            Common.CreateTextNode(xePlanet, "Diameter", Diameter.ToString());
            Common.CreateTextNode(xePlanet, "NumSats", Satellites.Count.ToString());
            Common.CreateTextNode(xePlanet, "Mainworld", MainWorld.ToString());
            Common.CreateTextNode(xePlanet, "NormalUWP", Normal.DisplayString(PlanetType, Diameter));
            Common.CreateTextNode(xePlanet, "CollapseUWP", Collapse.DisplayString(PlanetType, Diameter));
            Common.CreateTextNode(xePlanet, "Life", Life.ToString());
            Common.CreateTextNode(xePlanet, "LifeFactor", LifeFactor.ToString());
            Common.CreateTextNode(xePlanet, "Name", Name);

            var xeChild = objOrbit.OwnerDocument.CreateElement("Temperature");

            for (var i = 0; i < (Constants.NUM_HEX_ROWS * 2) - 1; i += 2)
            {
                var xeTemp = objOrbit.OwnerDocument.CreateElement("Row" + (i / 2 + 1).ToString());

                Common.CreateTextNode(xeTemp, "Summer", Summer[i].ToString("N", nfi) + "/" + Summer[i + 1].ToString("N", nfi));
                Common.CreateTextNode(xeTemp, "Fall", Fall[i].ToString("N", nfi) + "/" + Fall[i + 1].ToString("N", nfi));
                Common.CreateTextNode(xeTemp, "Winter", Winter[i].ToString("N", nfi) + "/" + Winter[i + 1].ToString("N", nfi));

                xeChild.AppendChild(xeTemp);
            }

            xePlanet.AppendChild(xeChild);

            if (Life)
            {
                xeChild = objOrbit.OwnerDocument.CreateElement("AnimalEncounters");
                TableGenerator.WriteToXML(xeChild);
                xePlanet.AppendChild(xeChild);
            }

            Normal.SaveToXML(xePlanet);
            Collapse.SaveToXML(xePlanet);

            foreach (var satellite in Satellites)
            {
                satellite.SaveToXML(xePlanet);
            }
        }
Ejemplo n.º 4
0
 private void ChangePanelInfo()
 {
     canvasName.text      = planetName;
     canvasType.text      = planetType.ToString();
     canvasBlock.text     = blockType.ToString();
     canvasResource1.text = resources[0].ToString();
     canvasResource2.text = resources[1].ToString();
     canvasResource3.text = resources[2].ToString();
     canvasResource4.text = resources[3].ToString();
 }
    /// <summary>
    /// Returns a string that is used for saving and loading
    /// x|y|z|type|visited
    /// </summary>
    /// <returns></returns>
    public string getSaveString()
    {
        StringBuilder result = new StringBuilder();

        result.Append(galacticPosition.x);
        result.Append("|");
        result.Append(galacticPosition.y);
        result.Append("|");
        result.Append(galacticPosition.z);
        result.Append("|");
        result.Append(type.ToString("d"));
        result.Append("|");
        result.Append((isVisited ? "1" : "0"));
        result.Append("|");
        result.Append((isLocked ? "1" : "0"));
        result.Append("|");
        result.Append(seed);
        result.Append("|");
        result.Append(name);
        return(result.ToString());
    }
Ejemplo n.º 6
0
 void OnMouseDown()
 {
     if (explored)
     {
         gameUI.targetStr              = transform.FindChild("Canvas/Text").GetComponent <Text>().text + " — Explored";
         gameUI.planetTypeStr          = type.ToString() + " Type";
         gameUI.fuelCompoundsStr       = "Fuel Compounds\t\t\t" + fuelCompounds.ToString();
         gameUI.structuralCompoundsStr = "Structural Compounds\t" + structuralCompounds.ToString();
         gameUI.ordnanceCompoundsStr   = "Ordnance Compounds\t" + ordnanceCompounds.ToString();
         gameUI.edibleFoodStr          = "Edible Food\t\t\t\t\t" + edibleFood.ToString();
     }
     else
     {
         gameUI.targetStr              = transform.FindChild("Canvas/Text").GetComponent <Text>().text;
         gameUI.planetTypeStr          = "Unknown Planet Type";
         gameUI.fuelCompoundsStr       = "Unknown Resource 0";
         gameUI.structuralCompoundsStr = "Unknown Resource 0";
         gameUI.ordnanceCompoundsStr   = "Unknown Resource 0";
         gameUI.edibleFoodStr          = "Unknown Resource 0";
     }
     player.target = this.gameObject;
 }
Ejemplo n.º 7
0
 private string GetPlanetName()
 {
     return(IsBonusPlanet ? BonusPlanet.ToString() : Planet.ToString());
 }