public TResult Build(AssetManagerLoader loader)
        {
            GameObject go      = Object.Instantiate(_go);
            TResult    balloon = go.GetComponent <TResult>();

            if (balloon == null)
            {
                Balloon cpy = (Balloon)AssetManager.Instance.getPrefab(Prefabs.BalloonRegular);
                balloon                = go.AddComponent <TResult>();
                balloon.pokeSound      = cpy.pokeSound;
                balloon.popSound       = cpy.popSound;
                balloon.popParticlesGO = cpy.popParticlesGO;
            }

            if (balloon.transform.childCount == 0)
            {
                GameObject stringAttachment = new GameObject("String");
                stringAttachment.transform.parent = balloon.transform;
                LineRenderer renderer = stringAttachment.AddComponent <LineRenderer>();
                renderer.positionCount = 2;
                renderer.material      = new Material(Shader.Find("Sprites/Default"));
            }
            Apply(new BaseObjectContainer <TResult>(loader, balloon, go));
            foreach (Renderer componentsInChild in go.GetComponentsInChildren <Renderer>())
            {
                Parkitility.ReplaceWithParkitectMaterial(componentsInChild);
            }

            loader.RegisterObject(balloon);
            return(balloon);
        }
        public TResult Build(AssetManagerLoader loader)
        {
            GameObject go = UnityEngine.Object.Instantiate(_go);

            TResult shop = go.GetComponent <TResult>();

            if (shop == null)
            {
                shop = go.AddComponent <TResult>();
                if (!ContainsTag("GUID"))
                {
                    throw new Exception("GUID is never set");
                }
            }

            Apply(new BaseObjectContainer <TResult>(loader, shop, go));
            foreach (Renderer componentsInChild in go.GetComponentsInChildren <Renderer>())
            {
                Parkitility.ReplaceWithParkitectMaterial(componentsInChild);
            }

            // register shop
            loader.RegisterObject(shop);
            return(shop);
        }
Esempio n. 3
0
        public EmployeeCostume Build(AssetManagerLoader loader)
        {
            var employeeCostume = ScriptableObject.CreateInstance <EmployeeCostume>();

            employeeCostume.customColors = new Color[] { };
            Apply(new BaseContainer <EmployeeCostume>(loader, employeeCostume));
            loader.RegisterObject(employeeCostume);
            return(employeeCostume);
        }
Esempio n. 4
0
        public Trash Build(AssetManagerLoader loader)
        {
            GameObject go    = UnityEngine.Object.Instantiate(_go);
            TResult    trash = go.GetComponent <TResult>();

            if (trash == null)
            {
                trash = go.AddComponent <TResult>();
            }
            Apply(new BaseObjectContainer <TResult>(loader, trash, go));
            foreach (Renderer componentsInChild in go.GetComponentsInChildren <Renderer>())
            {
                Parkitility.ReplaceWithParkitectMaterial(componentsInChild);
            }

            loader.RegisterObject(trash);
            return(trash);
        }
        public Ingredient Build(AssetManagerLoader loader)
        {
            Ingredient result   = new Ingredient();
            var        resource = ScriptableObject.CreateInstance <Resource>();

            resource.name    = _id;
            resource.effects = _effects.ToArray();
            resource.setDisplayName(_displayName);
            resource.setCosts(_cost);
            resource.resourceTexture = _texture;

            result.resource      = resource;
            result.tweakable     = _tweakable;
            result.defaultAmount = _amount;

            loader.RegisterObject(resource);

            return(result);
        }
Esempio n. 6
0
        public TResult Build(AssetManagerLoader loader)
        {
            GameObject go = Object.Instantiate(_go);

            TResult product = go.GetComponent <TResult>();

            if (product == null)
            {
                product = go.AddComponent <TResult>();
            }

            Apply(new BaseObjectContainer <TResult>(loader, product, go));
            foreach (Renderer componentsInChild in go.GetComponentsInChildren <Renderer>())
            {
                Parkitility.ReplaceWithParkitectMaterial(componentsInChild);
            }

            // register shop
            loader.RegisterObject(product);
            return(product);
        }