示例#1
0
 private void ActSelfChangeWeapon()
 {
     if (EntityWorld.Instance.ActSelf != null && this.CullingMasks.ContainsKey(RTManager.RtType.Player))
     {
         ShadowController.ShowShadow(EntityWorld.Instance.EntSelf.ID, EntityWorld.Instance.ActSelf, true, 0);
     }
 }
示例#2
0
 public static void RefreshShadows()
 {
     if (ShadowController.IsPreviousRealTimeShadowEnable != GameLevelManager.IsRealTimeShadowOn())
     {
         XDict <long, EntityParent> allEntities = EntityWorld.Instance.AllEntities;
         using (List <EntityParent> .Enumerator enumerator = allEntities.Values.GetEnumerator())
         {
             while (enumerator.MoveNext())
             {
                 EntityParent current = enumerator.get_Current();
                 if (current != null & current.Actor)
                 {
                     if (ShadowController.IsPreviousRealTimeShadowEnable)
                     {
                         ShadowController.SetShadowModelRender(current.Actor.FixTransform, true);
                     }
                     else
                     {
                         ShadowProjector.ShowShadowProjector(current.Actor.FixTransform, true);
                     }
                     ShadowController.ShowShadow(current.ID, current.Actor.FixTransform, false, 0);
                 }
             }
         }
     }
     ShadowController.IsPreviousRealTimeShadowEnable = GameLevelManager.IsRealTimeShadowOn();
 }
示例#3
0
    protected void SetPlayerActor(ActorPlayer actorPlayer, Action logicCallback)
    {
        AvatarModel avatarModel = DataReader <AvatarModel> .Get(this.FixModelID);

        base.Actor            = actorPlayer;
        actorPlayer.theEntity = this;
        base.Actor.FixGameObject.set_name(base.ID.ToString());
        base.Actor.FixGameObject.SetActive(true);
        base.Actor.InitActionPriorityTable();
        base.Actor.CanAnimatorApplyMotion = false;
        base.Actor.DataLayerState         = ((avatarModel.collideOff <= 0) ? 0 : 1);
        base.Actor.DefaultModelHeight     = avatarModel.defaultModelHeight;
        base.Actor.ModelHeight            = avatarModel.defaultModelHeight;
        base.Actor.IsLockModelDir         = (avatarModel.lockDirection == 1);
        base.Actor.RotateSpeed            = avatarModel.RotateSpeed;
        base.Actor.RotateInterval         = (float)avatarModel.rotateInterval;
        base.Actor.StartRotateAngle       = (float)avatarModel.startAngle;
        base.Actor.FinishRotateAngle      = (float)avatarModel.finishAngle;
        base.Actor.FloatRate = avatarModel.floatProba;
        ShadowController.ShowShadow(base.ID, base.Actor, false, this.FixModelID);
        ShaderEffectUtils.InitShaderRenderers(base.Actor.FixTransform, this.shaderRenderers, ref this.shadowRenderer, ref this.shadowSlicePlane);
        ShaderEffectUtils.InitHitEffects(this.shaderRenderers, this.hitControls);
        ShaderEffectUtils.InitTransparencys(this.shaderRenderers, this.alphaControls);
        ShaderEffectUtils.SetFadeRightNow(this.alphaControls, false);
        ShaderEffectUtils.SetOutlineStatus(base.Actor.FixTransform, LuminousOutline.Status.Normal);
        if (avatarModel.curve == 1)
        {
            ShaderEffectUtils.SetMeshRenderToLayerFXDistortion(base.Actor.FixTransform);
        }
        this.InitBillboard((float)avatarModel.height_HP, avatarModel.bloodBar);
        WaveBloodManager.Instance.AddWaveBloodControl(base.Actor.FixTransform, (float)avatarModel.height_Damage, base.ID);
        if (this.IsInBattle)
        {
            if (this.IsDead)
            {
                CommandCenter.ExecuteCommand(base.Actor.FixTransform, new PlayActionCmd
                {
                    actName    = "die",
                    jumpToPlay = true,
                    percent    = 1f
                });
            }
            else
            {
                base.Actor.CastAction("born", true, 1f, 0, 0, string.Empty);
            }
        }
        else
        {
            base.Actor.CastAction("idle", true, 1f, 0, 0, string.Empty);
        }
        if (logicCallback != null)
        {
            logicCallback.Invoke();
        }
        this.InitActorState();
    }
示例#4
0
 public static void ShowShadow(long uuid, ActorParent actorParent, bool bHideShadow, int modelId = 0)
 {
     if (actorParent is ActorMonster && (actorParent as ActorMonster).GetEntity().IsLogicBoss)
     {
         ShadowController.ShowShadow(uuid, actorParent.FixTransform, actorParent, bHideShadow, modelId);
     }
     else
     {
         ShadowController.ShowShadow(uuid, actorParent.FixTransform, null, bHideShadow, modelId);
     }
 }
 protected void SetModel(Transform root, int modelID)
 {
     base.GetAsyncModel(root, modelID, delegate
     {
         AvatarModel avatarModel = DataReader <AvatarModel> .Get(modelID);
         if (avatarModel == null)
         {
             return;
         }
         BillboardManager.Instance.AddBillboardsInfo(23, root, (float)avatarModel.height_HP, (long)this.id, false, false, true);
         HeadInfoManager.Instance.SetName(23, (long)this.id, this.GetName());
         ShadowController.ShowShadow((long)this.id, root, false, modelID);
     });
 }
示例#6
0
 public void CreateActor()
 {
     this.AsyncLoadID = EntityWorld.Instance.GetCityPetActorAsync(this.ModelID, delegate(ActorCityPet actorCityPet)
     {
         Pet dataPet         = DataReader <Pet> .Get(this.TypeID);
         this.Actor          = actorCityPet;
         actorCityPet.Entity = this;
         this.Actor.FixGameObject.set_name(this.ID.ToString());
         this.Actor.SetScale(PetManagerBase.GetCityPetModelZoom(dataPet, this.ModelID));
         ShadowController.ShowShadow(this.ID, this.Actor.FixTransform, false, this.ModelID);
         ActorVisibleManager.Instance.Add(this.ID, this.Actor.FixTransform, 22, this.OwnerID);
         this.Show();
     });
 }
 public override void CreateActor()
 {
     base.AsyncLoadID = EntityWorld.Instance.GetCityMonsterActorAsync(this.ModelID, delegate(ActorWildMonster actorMonster)
     {
         Monster monster = DataReader <Monster> .Get(this.TypeID);
         base.Actor      = actorMonster;
         base.Actor.InitActionPriorityTable();
         actorMonster.theEntity  = this;
         AvatarModel avatarModel = DataReader <AvatarModel> .Get(this.ModelID);
         BillboardManager.Instance.AddBillboardsInfo(25, base.Actor.FixTransform, (float)avatarModel.height_HP, base.ID, false, true, true);
         ShadowController.ShowShadow(base.ID, base.Actor.FixTransform, false, this.modelID);
         LayerSystem.SetGameObjectLayer(base.Actor.FixGameObject, "CityPlayer", 2);
         ActorVisibleManager.Instance.Add(base.ID, base.Actor.FixTransform, 25, 0L);
         base.Actor.SetAllCollider(true);
         this.Show();
     });
 }
示例#8
0
 protected void SetModel(Transform root, int modelID)
 {
     base.GetAsyncModel(root, modelID, delegate
     {
         NPC nPC = DataReader <NPC> .Get(this.npcDataID);
         AvatarModel avatarModel = DataReader <AvatarModel> .Get(modelID);
         this.animator           = root.GetComponentInChildren <Animator>();
         if (this.animator)
         {
             AssetManager.AssetOfControllerManager.SetController(this.animator, modelID, false);
             this.CastAction(this.DefaultIdleActionStatus);
             this.ChangeAnimationSpeed();
         }
         this.SetCharacterController(root);
         BillboardManager.Instance.AddBillboardsInfo(31, root, (float)avatarModel.height_HP, (long)this.id, false, true, true);
         HeadInfoManager.Instance.SetName(31, (long)this.id, GameDataUtils.GetChineseContent(nPC.name, false));
         ShadowController.ShowShadow((long)this.id, root, false, modelID);
         ActorVisibleManager.Instance.Add((long)this.id, root, 31, 0L);
         this.ShowShopInfo(nPC, root, avatarModel.height_HP);
     });
 }
示例#9
0
 protected void SetModel(Transform root, int modelID)
 {
     base.GetAsyncModel(root, modelID, delegate
     {
         Monster monster         = DataReader <Monster> .Get(this.monsterDataID);
         AvatarModel avatarModel = DataReader <AvatarModel> .Get(modelID);
         CharacterController[] componentsInChildren = root.GetComponentsInChildren <CharacterController>();
         if (componentsInChildren != null && componentsInChildren.Length > 0)
         {
             for (int i = 0; i < componentsInChildren.Length; i++)
             {
                 componentsInChildren[i].set_enabled(avatarModel.collideOff == 0);
             }
         }
         this.animator = root.GetComponentInChildren <Animator>();
         BillboardManager.Instance.AddBillboardsInfo(25, root, (float)avatarModel.height_HP, (long)this.id, false, true, true);
         HeadInfoManager.Instance.SetName(25, (long)this.id, GameDataUtils.GetChineseContent(monster.name, false));
         ShadowController.ShowShadow((long)this.id, root, false, modelID);
         ActorVisibleManager.Instance.Add((long)this.id, root, 25, 0L);
     });
 }
 protected void SetModel(Transform root, int modelID)
 {
     base.GetAsyncModel(root, modelID, delegate
     {
         CaiJiPeiZhi caiJiPeiZhi = DataReader <CaiJiPeiZhi> .Get(this.collectionDataID);
         AvatarModel avatarModel = DataReader <AvatarModel> .Get(modelID);
         this.animator           = root.GetComponentInChildren <Animator>();
         if (this.animator)
         {
             AssetManager.AssetOfControllerManager.SetController(this.animator, modelID, false);
             this.ChangeAnimationSpeed();
         }
         this.SetCharacterController(root);
         BillboardManager.Instance.AddBillboardsInfo(31, root, (float)avatarModel.height_HP, (long)this.id, false, true, true);
         if (caiJiPeiZhi.name != 0)
         {
             HeadInfoManager.Instance.SetName(31, (long)this.id, GameDataUtils.GetChineseContent(caiJiPeiZhi.name, false));
         }
         ShadowController.ShowShadow((long)this.id, root, false, modelID);
     });
 }
示例#11
0
 protected void SetModel(Transform root, int modelID)
 {
     base.GetAsyncModel(root, modelID, delegate
     {
         Monster monster         = DataReader <Monster> .Get(this.monsterDataID);
         AvatarModel avatarModel = DataReader <AvatarModel> .Get(modelID);
         CharacterController[] componentsInChildren = root.GetComponentsInChildren <CharacterController>();
         if (componentsInChildren != null && componentsInChildren.Length > 0)
         {
             for (int i = 0; i < componentsInChildren.Length; i++)
             {
                 componentsInChildren[i].set_enabled(avatarModel.collideOff == 0);
             }
         }
         this.animator = root.GetComponentInChildren <Animator>();
         BillboardManager.Instance.AddBillboardsInfo(23, root, (float)avatarModel.height_HP, (long)this.id, false, true, true);
         HeadInfoManager.Instance.SetName(23, (long)this.id, TextColorMgr.GetColorByID(string.Format(GameDataUtils.GetChineseContent((!this.isMultiBoss) ? 505163 : 505164, false), this.monsterLv, GameDataUtils.GetChineseContent(monster.name, false), (!this.isMultiBoss) ? DataReader <YeWaiBOSSJieJi> .Get(this.monsterLv).SingleRank : DataReader <YeWaiBOSSJieJi> .Get(this.monsterLv).ManyRank), (!this.isMultiBoss) ? 1000007 : 1000009));
         ShadowController.ShowShadow((long)this.id, root, false, modelID);
         ActorVisibleManager.Instance.Add((long)this.id, root, 23, 0L);
         this.AppState();
     });
 }
示例#12
0
    protected void SetCityPlayerActor(ActorCityPlayer actorCityPlayer, Action logicCallback)
    {
        AvatarModel avatarModel = DataReader <AvatarModel> .Get(this.FixModelID);

        base.Actor = actorCityPlayer;
        actorCityPlayer.theEntity = this;
        base.Actor.FixGameObject.SetActive(true);
        base.Actor.FixGameObject.set_name(base.ID.ToString());
        base.Actor.InitActionPriorityTable();
        base.Actor.CanAnimatorApplyMotion = false;
        ShadowController.ShowShadow(base.ID, base.Actor, false, this.FixModelID);
        ShaderEffectUtils.InitShaderRenderers(base.Actor.FixTransform, this.shaderRenderers, ref this.shadowRenderer, ref this.shadowSlicePlane);
        ShaderEffectUtils.InitTransparencys(this.shaderRenderers, this.alphaControls);
        this.InitBillboard((float)avatarModel.height_HP);
        LayerSystem.SetGameObjectLayer(base.Actor.FixGameObject, "CityPlayer", 2);
        ActorVisibleManager.Instance.Add(base.ID, base.Actor.FixTransform, 21, 0L);
        base.Actor.CastAction("idle", true, 1f, 0, 0, string.Empty);
        if (logicCallback != null)
        {
            logicCallback.Invoke();
        }
        this.InitActorState();
    }
示例#13
0
    public override void CreateActor()
    {
        ActorPet petActor = EntityWorld.Instance.GetPetActor(this.FixModelID);
        Pet      pet      = DataReader <Pet> .Get(this.TypeID);

        AvatarModel avatarModel = DataReader <AvatarModel> .Get(this.FixModelID);

        base.Actor         = petActor;
        petActor.theEntity = this;
        base.Actor.FixGameObject.set_name(base.ID.ToString());
        base.Actor.FixGameObject.SetActive(true);
        base.Actor.InitActionPriorityTable();
        base.Actor.CanAnimatorApplyMotion = false;
        base.Actor.DataLayerState         = ((avatarModel.collideOff <= 0) ? 0 : 1);
        base.Actor.DefaultModelHeight     = avatarModel.defaultModelHeight;
        base.Actor.ModelHeight            = avatarModel.defaultModelHeight;
        base.Actor.IsLockModelDir         = (avatarModel.lockDirection == 1);
        base.Actor.RotateSpeed            = avatarModel.RotateSpeed;
        base.Actor.RotateInterval         = (float)avatarModel.rotateInterval;
        base.Actor.StartRotateAngle       = (float)avatarModel.startAngle;
        base.Actor.FinishRotateAngle      = (float)avatarModel.finishAngle;
        base.Actor.FloatRate = avatarModel.floatProba;
        ShadowController.ShowShadow(base.ID, base.Actor, false, this.FixModelID);
        ShaderEffectUtils.SetHSV(base.Actor.FixTransform, pet.colour);
        ShaderEffectUtils.InitShaderRenderers(base.Actor.FixTransform, this.shaderRenderers, ref this.shadowRenderer, ref this.shadowSlicePlane);
        ShaderEffectUtils.InitHitEffects(this.shaderRenderers, this.hitControls);
        ShaderEffectUtils.InitTransparencys(this.shaderRenderers, this.alphaControls);
        ShaderEffectUtils.SetFadeRightNow(this.alphaControls, false);
        ShaderEffectUtils.SetOutlineStatus(base.Actor.FixTransform, LuminousOutline.Status.Normal);
        if (avatarModel.curve == 1)
        {
            ShaderEffectUtils.SetMeshRenderToLayerFXDistortion(base.Actor.FixTransform);
        }
        this.InitBillboard((float)avatarModel.height_HP, avatarModel.bloodBar);
        WaveBloodManager.Instance.AddWaveBloodControl(base.Actor.FixTransform, (float)avatarModel.height_Damage, base.ID);
        this.InitActorState();
    }
示例#14
0
    private void SetCameraRenderType(RTManager.RtType type, bool typeOn)
    {
        this.ResetRotation();
        switch (type)
        {
        case RTManager.RtType.LocalHeatDistortion:
        {
            string[] array = new string[]
            {
                "FX_Distortion"
            };
            int mask = LayerMask.GetMask(array);
            this.SetCameraCullingMask(type, typeOn, mask);
            break;
        }

        case RTManager.RtType.Player:
        {
            if (EntityWorld.Instance.ActSelf != null)
            {
                ShadowController.ShowShadow(EntityWorld.Instance.EntSelf.ID, EntityWorld.Instance.ActSelf, typeOn, 0);
            }
            string[] layerNames = new string[]
            {
                "CameraRange"
            };
            int mask2 = LayerSystem.GetMask(layerNames);
            this.SetCameraCullingMask(type, typeOn, mask2);
            if (typeOn)
            {
                this.AimTargetOffsetY = ModelDisplayManager.GetPlayerAM().camProjPosRevise;
                if (ModelDisplayManager.GetPlayerAM().camProjRotRevise.get_Count() >= 2)
                {
                    RTManager.Instance.CamProjRotateRevise = new Vector3(0f, ModelDisplayManager.GetPlayerAM().camProjRotRevise.get_Item(0), ModelDisplayManager.GetPlayerAM().camProjRotRevise.get_Item(1));
                }
            }
            break;
        }

        case RTManager.RtType.ActorModel1:
            this.SetCameraCullingMask(type, typeOn, ModelDisplayManager.ModelFXMask);
            if (!typeOn)
            {
                this.HideModel();
                CamerasMgr.SetRTCClippingPlanes(0f);
            }
            else
            {
                CamerasMgr.SetRTCClippingPlanes(100000f);
            }
            break;

        case RTManager.RtType.InstanceBall:
        {
            string[] layerNames2 = new string[]
            {
                "BallItem",
                "BallObject"
            };
            int mask3 = LayerSystem.GetMask(layerNames2);
            this.SetCameraCullingMask(type, typeOn, mask3);
            if (!typeOn)
            {
                this.HideModel();
            }
            break;
        }

        case RTManager.RtType.ElementBall:
        {
            string[] layerNames3 = new string[]
            {
                "BallItem",
                "BallObject"
            };
            int mask4 = LayerSystem.GetMask(layerNames3);
            this.SetCameraCullingMask(type, typeOn, mask4);
            if (!typeOn)
            {
                this.HideModel();
            }
            break;
        }
        }
    }
示例#15
0
 public void ShowShadow(bool isShow, int modelId)
 {
     ShadowController.ShowShadow(0L, base.get_transform(), !isShow, modelId);
 }
示例#16
0
 public static void ShowShadow(long uuid, Transform actorTarget, bool bHideShadow, int modelId = 0)
 {
     ShadowController.ShowShadow(uuid, actorTarget, null, bHideShadow, modelId);
 }