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(); }
public void AwakeSelf(int _type, long _uuid, long _ownerId, IActorVisible _interfaceGroup) { this.uuid = _uuid; this.ownerId = _ownerId; this.m_objType = _type; this.interfaceGroup = _interfaceGroup; if (this.IsSelfManagerType()) { this.m_actor = base.GetComponent <Actor>(); Renderer renderer = null; ShaderEffectUtils.InitShaderRenderers(base.get_transform(), this.m_listSmr, ref renderer, ref this.m_shadowSlicePlane); ShaderEffectUtils.InitTransparencys(this.m_listSmr, this.m_alphaControls); } else { this.m_actorParent = base.GetComponent <ActorParent>(); } this.m_listAnimation.AddRange(base.get_transform().GetComponentsInChildren <Animation>(true)); this.m_listAnimator.AddRange(base.get_transform().GetComponentsInChildren <Animator>(true)); this.UpdateShow(true); }
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(); }
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(); }
public override void EquipSuccess() { ShaderEffectUtils.InitShaderRenderers(base.Actor.FixTransform, this.shaderRenderers, ref this.shadowRenderer, ref this.shadowSlicePlane); ShaderEffectUtils.InitTransparencys(this.shaderRenderers, this.alphaControls); }