Example #1
0
 public void Awake()
 {
     riverAvatar = (RiverAvatar)target;
 }
Example #2
0
        public override void OnInitialized()
        {
            worlditem.rb.isKinematic = true;
            worlditem.SetMode(WIMode.Frozen);
            WaterfallTopCollider.isTrigger    = true;
            WaterfallBottomCollider.isTrigger = true;

            if (State.TopFollowsSeaLevel)
            {
                WaterfallTopFollow = Ocean.Get.Pivot;
            }
            else if (!string.IsNullOrEmpty(State.TopRiverName))
            {
                RiverAvatar river = null;
                if (worlditem.Group.GetParentChunk().GetRiver(State.TopRiverName, out river))
                {
                    WaterfallTopFollow = river.transform;
                }
            }
            else if (!string.IsNullOrEmpty(State.TopBodyOfWaterPath))
            {
                mWaitingForBodiesOfWater = true;
                StartCoroutine(WaitForBodiesOfWater());
            }

            if (State.BottomFollowsSeaLevel)
            {
                WaterfallBottomFollow = Ocean.Get.Pivot;
            }
            else if (!string.IsNullOrEmpty(State.BottomRiverName))
            {
                RiverAvatar river = null;
                if (worlditem.Group.GetParentChunk().GetRiver(State.BottomRiverName, out river))
                {
                    WaterfallBottomFollow = river.transform;
                }
            }
            else if (!string.IsNullOrEmpty(State.BottomBodyOfWaterPath))
            {
                if (!mWaitingForBodiesOfWater)
                {
                    mWaitingForBodiesOfWater = true;
                    StartCoroutine(WaitForBodiesOfWater());
                }
            }

            State.TopFall.ApplyTo(FallTop.transform, true);
            State.TopFlow.ApplyTo(FlowTop.transform, true);
            State.TopSpray.ApplyTo(SprayTop.transform, true);
            State.TopStreak.ApplyTo(StreakTop.transform, true);
            State.TopPosition.ApplyTo(WaterfallTop, false);

            State.BottomFlow.ApplyTo(FlowBottom.transform, true);
            State.BottomFoam.ApplyTo(FoamBottom.transform, true);
            State.BottomMist.ApplyTo(MistBottom.transform, true);
            State.BottomSplash.ApplyTo(SplashBottom.transform, true);
            State.BottomPosition.ApplyTo(WaterfallBottom, false);

            FallTop.emissionRate   = State.TopFallEmissionRate;
            FlowTop.emissionRate   = State.TopFlowEmissionRate;
            SprayTop.emissionRate  = State.TopSprayEmissionRate;
            StreakTop.emissionRate = State.TopStreakEmissionRate;

            FlowBottom.emissionRate   = State.BottomFlowEmissionRate;
            FoamBottom.emissionRate   = State.BottomFoamEmissionRate;
            MistBottom.emissionRate   = State.BottomMistEmissionRate;
            SplashBottom.emissionRate = State.BottomSplashEmissionRate;

            if (TopFollowsSomething || BottomFollowsSomething)
            {
                enabled = true;
            }
        }