Ejemplo n.º 1
0
            static IEnumerator initPrefab()
            {
                if (stasisSpherePrefab)
                {
                    yield break;
                }

                if (alreadyInit || !(alreadyInit = true))                 // to avoid simultaneous initialization
                {
                    yield return(new WaitUntil(() => stasisSpherePrefab));

                    yield break;
                }
#if GAME_BZ
#pragma warning disable CS0612 // TechType.StasisRifle is obsolete in BZ
#endif
                var task = PrefabUtils.getPrefabAsync(TechType.StasisRifle);
#if GAME_BZ
#pragma warning restore CS0612
#endif
                yield return(task);

                var stasisRiflePrefab = task.GetResult();

                if (!stasisRiflePrefab)
                {
                    "StasisExplosion.initPrefab: invalid prefab for StasisRifle!".logError();
                    yield break;
                }

                stasisSpherePrefab = PrefabUtils.storePrefabCopy(stasisRiflePrefab.GetComponent <StasisRifle>()?.effectSpherePrefab);
            }
Ejemplo n.º 2
0
        IEnumerator init()
        {
            if (inited || !(inited = true))
            {
                yield break;
            }

            AnimationHelper.init();

            //cbeams[0] = new ConstructionBeam(builderTool.beamLeft, builderTool.nozzleLeft);
            //cbeams[1] = new ConstructionBeam(builderTool.beamRight, builderTool.nozzleRight);

            GameObject beamsRoot = gameObject.getChild("terraformer_anim/Terraformer_Export_Skele/root_jnt/body_jnt/head_jnt");

            var task = PrefabUtils.getPrefabAsync(TechType.Builder);

            yield return(task);

            GameObject beamPrefab = task.GetResult().getChild("builder/builder_FP/Root/r_nozzle_root/r_nozzle/R_laser/beamRight");

            cbeams[0] = new ConstructionBeam(beamsRoot, beamPrefab, "Left", new Vector3(-0.1813f, -0.007f, 0.06f));
            cbeams[1] = new ConstructionBeam(beamsRoot, beamPrefab, "Right", new Vector3(0.1813f, -0.007f, 0.06f));
            cbeams[2] = new ConstructionBeam(beamsRoot, beamPrefab, "Center1", new Vector3(0, -0.007f, 0.06f));
            //cbeams[3] = new ConstructionBeam(beamsRoot, beamPrefab, "Center2", new Vector3(0, -0.007f, 0.06f));

            setBeamsActive(false);
        }
Ejemplo n.º 3
0
            static IEnumerator _deathEffect()             // multiple ?
            {
                var task = PrefabUtils.getPrefabAsync(TechType.BlueCluster);

                yield return(task);

                deathEffect = task.GetResult().GetComponent <LiveMixin>().data.deathEffect;
            }
Ejemplo n.º 4
0
                static IEnumerator _dumpPrefab(TechType techType)
                {
                    var task = PrefabUtils.getPrefabAsync(techType);

                    yield return(task);

                    task.GetResult()?.dump(techType.AsString());
                }