Esempio n. 1
0
        public override void OnLoad()
        {
            resourcesFormater = new ResourcesFormater();

            Events.OnEntityPlaced += (entity) =>
            {
                if (entity.Name == "MeshEntity")
                {
                    AddScript(entity);
                }
            };

            Events.OnLevelSave += (Level level) =>
            {
                foreach (var e in level.Entities)
                {
                    if (e.Name.Contains("MeshEntity"))
                    {
                        MeshEntityData meshEntityData = e.InternalObject.GetComponent <MeshEntityScript>().meshEntityData;
                        level.CustomData.Write("MeshEntityData|" + level.Entities.IndexOf(e), meshEntityData.ToString());
                    }
                }
            };

            Events.OnLevelLoaded += (level) =>
            {
                var data = level.CustomData.ReadAll();
                List <MeshEntityData> meshEntityDatas = new List <MeshEntityData>();

                foreach (var da in data)
                {
                    if (da.Key.Contains("MeshEntity"))
                    {
                        MeshEntityData meshEntityData = new MeshEntityData(da.RawValue.ToString());
                        meshEntityDatas.Add(meshEntityData);
                    }
                }

                foreach (var e in level.Entities)
                {
                    if (e.Name.Contains("MeshEntity"))
                    {
                        MeshEntityData meshEntityData = meshEntityDatas.Find(match => match.ID == e.Id);
                        AddScript(e, meshEntityData);
                    }
                }
            };

            void AddScript(Entity entity, MeshEntityData meshEntityData = null)
            {
                MeshEntityScript meshEntityScript = entity.InternalObject.gameObject.AddComponent <MeshEntityScript>();

                meshEntityScript.entity         = entity;
                meshEntityScript.meshEntityData = meshEntityData;
            }
        }
Esempio n. 2
0
    void Start()
    {
        if (!StatMaster.levelSimulating)
        {
            if (meshEntityData == null)
            {
                meshEntityData = new MeshEntityData(entity.Id, new Color(255, 255, 255, 255));
            }

            redSlider   = entity.InternalObject.EntityBehaviour.AddSlider("Red", "Red", meshEntityData.Color.r, 0, 255);
            greenSlider = entity.InternalObject.EntityBehaviour.AddSlider("Green", "Green", meshEntityData.Color.g, 0, 255);
            blueSlider  = entity.InternalObject.EntityBehaviour.AddSlider("Blue", "Blue", meshEntityData.Color.b, 0, 255);
            alphaSlider = entity.InternalObject.EntityBehaviour.AddSlider("Alpha", "Alpha", meshEntityData.Color.a, 0, 255);

            redSlider.ValueChanged   += (value) => { ChandedPropertise(); };
            greenSlider.ValueChanged += (value) => { ChandedPropertise(); };
            blueSlider.ValueChanged  += (value) => { ChandedPropertise(); };
            alphaSlider.ValueChanged += (value) => { ChandedPropertise(); };

            material = entity.InternalObject.visualController.renderers[0].material;

            ChandedPropertise();
        }
    }