public override void Initialize(NPCData npcData, Vector3 pos, Action initOK = null) { base.Initialize(npcData, pos, initOK); roleData = configMgr.GetRoleData(npcData.roleid); var id = npcData.roleid.ToString(); base.CreateNpcObject(id, pos, roleData.scale, delegate(GameObject prefab) { swf = roleObject.GetComponent <CSwf>(); swf.onStopPlayingEvent += OnPlayingClipOK; render = roleObject.GetComponent <MeshRenderer>(); swfClip = roleObject.GetComponent <SwfClip>(); gameObject.SetActive(false); gameObject.transform.position = pos; if (initOK != null) { initOK(); } }); }
public override void OnAwake() { gameObj = objMgr.Get(data.name); gameObj.transform.SetParent(gameObject.transform); gameObj.transform.localScale = data.scale; gameObj.transform.localPosition = Vector3.zero; gameObj.SetLayer(Layers.Default); gameObj.SetActive(true); gameObject.name = "Effect_" + objid; gameObject.transform.position = spawnPos; if (data.type == EffectType.Sprite) //序列帧特效 { var spriteRender = gameObj.GetComponent <SpriteRenderer>(); spriteRender.sortingOrder = LayerMask.NameToLayer("Effect"); spriteRender.sortingLayerName = "Effect"; antActor = gameObj.GetComponent <CAnimActor>(); antActor.timeScale = 0.8f; antActor.EventAnimationComplete += OnActorCompleted; } else if (data.type == EffectType.Flash) //FLASH特效 { swf = gameObj.GetComponent <CSwf>(); swf.onStopPlayingEvent += OnSwfEffectOK; swf.PlayDefault(); } if (isPlaySound) { soundMgr.Play("Audios/" + data.sound); } }