Ejemplo n.º 1
0
    //lifetime
    void Awake()
    {
        //instance
        if (instance != null)
        {
            Destroy(gameObject);
        }
        instance = this;

        //data
        data = new Dictionary <int, Data>();
        GroundData groundData = new GroundData(0, "Ground", Data.type.GROUND, false, 4.0f);

        data.Add(groundData.index, groundData);
        groundObject.GetComponent <GroundController>().setObject(groundData);
        LightData lightData = new LightData(1, "Light", Data.type.LIGHT, false, new Color(255, 255, 255), 1.0f);

        data.Add(lightData.index, lightData);
        LogSmokeDensityData logSmokeDensityData = new LogSmokeDensityData(2, "SmokeDensity", Data.type.LOGDENSITY, false, false, 1.0f);

        data.Add(logSmokeDensityData.index, logSmokeDensityData);
        number = 2;

        //UI
        objectPanel.GetComponent <ObjectPanelController>().addObject(groundData);
        objectPanel.GetComponent <ObjectPanelController>().addObject(lightData);
        objectPanel.GetComponent <ObjectPanelController>().addObject(logSmokeDensityData);
        currentIndex = 0;

        //configuration
        gameMode = GameMode.OPERATE;
    }
    public void init(LogSmokeDensityData _logSmokeDensityData)
    {
        logSmokeDensityData = _logSmokeDensityData;

        logFlagSetLine = transform.GetChild(0).gameObject;
        logFlagSetLine.GetComponent <OneFlagChooseLine>().init("logFlag", logSmokeDensityData.logFlag.ToString());

        intervalSetLine = transform.GetChild(1).gameObject;
        intervalSetLine.GetComponent <OneValueSetLineController>().init("interval", logSmokeDensityData.interval.ToString());
    }
Ejemplo n.º 3
0
 public void setObject(LogSmokeDensityData data)
 {
     oldData = data;
 }
Ejemplo n.º 4
0
 private void Start()
 {
     oldData   = new LogSmokeDensityData(0, "", Data.type.LOGDENSITY, false, false, 1f);
     deltaTime = GameManager.instance.deltaTime;
 }
Ejemplo n.º 5
0
    //file
    public void save(string path)
    {
        FileStream   fs   = new FileStream(path, FileMode.Create);
        StreamWriter sw   = new StreamWriter(fs);
        string       line = "";

        //write configuration
        line = "configuration" + "-" + "number=" + number.ToString();
        sw.Write(line);
        sw.Write("\n");

        //write data
        foreach (var item in data)
        {
            line = "data" + "-";
            line = line + "index=" + item.Key + "-";
            line = line + "name=" + item.Value.name + "-";
            line = line + "type=" + item.Value.dataTypeToString(item.Value.dataType) + "-";
            line = line + "deletable=" + item.Value.deletable.ToString() + "-";
            switch (item.Value.dataType)
            {
            case Data.type.GROUND: {
                GroundData groundData = ((GroundData)item.Value);
                line = line + "size=" + groundData.size;
                break;
            }

            case Data.type.LIGHT: {
                LightData lightData = ((LightData)item.Value);
                line = line + "intensity=" + lightData.intensity.ToString() + "-";
                line = line + "color:R=" + lightData.color.r.ToString() + ":G=" + lightData.color.g.ToString() + ":B=" + lightData.color.b.ToString();
                break;
            }

            case Data.type.LOGDENSITY: {
                LogSmokeDensityData logSmokeDensityData = ((LogSmokeDensityData)item.Value);
                line = line + "logFlag=" + logSmokeDensityData.logFlag.ToString() + "-";
                line = line + "interval=" + logSmokeDensityData.interval.ToString();
                break;
            }

            case Data.type.BARRIER: {
                BarrierData barrierData = ((BarrierData)item.Value);
                line = line + "geometryType=" + barrierData.geometryData.getGeometryTypeStringArray()[(int)barrierData.geometryData.geometryType] + "-";
                line = line + "position=" + barrierData.geometryData.position.ToString() + "-";
                switch (barrierData.geometryData.geometryType)
                {
                case GeometryData.GeometryType.CUBE: {
                    line = line + "size=" + ((CubeGeometryData)barrierData.geometryData).size.ToString() + "-";
                    line = line + "direction=" + ((CubeGeometryData)barrierData.geometryData).direction.ToString();
                    break;
                }

                case GeometryData.GeometryType.SPHERE: {
                    line = line + "r=" + ((SphereGeometryData)barrierData.geometryData).r.ToString();
                    break;
                }

                case GeometryData.GeometryType.CYLINDER: {
                    line = line + "r=" + ((CylinderGeometryData)barrierData.geometryData).r.ToString() + "-";
                    line = line + "height=" + ((CylinderGeometryData)barrierData.geometryData).height.ToString() + "-";
                    line = line + "direction=" + ((CylinderGeometryData)barrierData.geometryData).direction.ToString();
                    break;
                }
                }
                break;
            }

            case Data.type.WIND: {
                WindData windData = ((WindData)item.Value);
                line = line + "intensity=" + windData.intensity.ToString() + "-";
                line = line + "interference=" + windData.interference.ToString() + "-";
                line = line + "geometryType=" + windData.geometryData.getGeometryTypeStringArray()[(int)windData.geometryData.geometryType] + "-";
                line = line + "position=" + windData.geometryData.position.ToString() + "-";
                switch (windData.geometryData.geometryType)
                {
                case GeometryData.GeometryType.CUBE: {
                    line = line + "size=" + ((CubeGeometryData)windData.geometryData).size.ToString() + "-";
                    line = line + "direction=" + ((CubeGeometryData)windData.geometryData).direction.ToString();
                    break;
                }

                case GeometryData.GeometryType.SPHERE: {
                    line = line + "r=" + ((SphereGeometryData)windData.geometryData).r.ToString();
                    break;
                }

                case GeometryData.GeometryType.CYLINDER: {
                    line = line + "r=" + ((CylinderGeometryData)windData.geometryData).r.ToString() + "-";
                    line = line + "height=" + ((CylinderGeometryData)windData.geometryData).height.ToString();
                    break;
                }
                }
                break;
            }

            case Data.type.SMOKE: {
                SmokeData smokeData = ((SmokeData)item.Value);
                switch (smokeData.smokeType)
                {
                case SmokeData.SmokeType.SMOKE: {
                    line = line + "smokeType=smoke-";
                    line = line + "duration=" + smokeData.physicalData.duration.ToString() + "-";
                    line = line + "maxNumber=" + smokeData.physicalData.maxNumber.ToString() + "-";
                    line = line + "particleSize=" + smokeData.physicalData.particleSize.ToString() + "-";
                    line = line + "speed=" + smokeData.physicalData.speed.ToString() + "-";
                    line = line + "color:R=" + smokeData.color.r.ToString() + ":G=" + smokeData.color.g.ToString() + ":B=" + smokeData.color.b.ToString() + "-";
                    line = line + "geometryType=" + smokeData.geometryData.getGeometryTypeStringArray()[(int)smokeData.geometryData.geometryType] + "-";
                    line = line + "position=" + smokeData.geometryData.position.ToString() + "-";
                    switch (smokeData.geometryData.geometryType)
                    {
                    case GeometryData.GeometryType.CYCLE: {
                        line = line + "r=" + ((CycleGeometryData)smokeData.geometryData).r.ToString() + "-";
                        line = line + "direction=" + ((CycleGeometryData)smokeData.geometryData).direction.ToString();
                        break;
                    }

                    case GeometryData.GeometryType.CONE: {
                        line = line + "r=" + ((ConeGeometryData)smokeData.geometryData).r.ToString() + "-";
                        line = line + "height=" + ((ConeGeometryData)smokeData.geometryData).height.ToString() + "-";
                        line = line + "direction=" + ((ConeGeometryData)smokeData.geometryData).direction.ToString();
                        break;
                    }
                    }
                    break;
                }

                case SmokeData.SmokeType.FIRE: {
                    line = line + "smokeType=fire-";
                    break;
                }

                case SmokeData.SmokeType.EXPLOSION: {
                    line = line + "smokeType=explosion-";
                    break;
                }
                }
                break;
            }

            default: {
                break;
            }
            }
            sw.Write(line);
            sw.Write("\n");
        }

        sw.Flush();

        sw.Close();
        fs.Close();
    }