public void AddAvatarID(ISFAvater avatar) { if (avatar == null || avatar.ID == 0) { return; } if (avatar.AvatarType == EAvatarType.NPC) { npcID = avatar.ID; } if (avatar.isLoad) { if (!AvatarIDList.Contains(avatar.ID)) { AvatarIDList.Add(avatar.ID); } } else { if (!NotLoadAvatarIDList.Contains(avatar.ID)) { NotLoadAvatarIDList.Add(avatar.ID); } } }
public void End(ISFAvater p, BehaviorState nextBehv) { if (mBehaviorEndDel != null) { mBehaviorEndDel(p, nextBehv); } }
public void Start(ISFAvater p, BehaviorState lastBehv) { if (mBehaviorStartDel != null) { mBehaviorStartDel(p, lastBehv); } }
public int Update(ISFAvater p) { if (mBehaviorUpdateDel != null) { return(mBehaviorUpdateDel(p)); } return(Behavior); }
//private Vector3 mBounds; //private Vector3 mPosition; public SFOrgan(GameObject gb, ModelStructure strcutType, ISFAvater avater) { Go = gb; Structure = strcutType; if (Go != null) { GoTrans = Go.transform; } IAvater = avater as ISFAvater; }
public override void SetAtlasPostProc(ISFAvater IAvater) { base.SetAtlasPostProc(IAvater); //FrameAni.setFirstName(); //FrameAni.Play(); if (mCurrentNames.Count > 1) { if (StopFrame == EActionStopFrameType.LastFrame) { curFrame = mCurrentNames.Count - 1; mSprite.SpriteName = mCurrentNames[curFrame]; } } }
public override void SetAtlasPostProc(ISFAvater IAvater) { base.SetAtlasPostProc(IAvater); setFirstName(); IAvater.getIModel.SetFPS(); Play(); if (mCurrentNames.Count > 1) { if (StopFrame == EActionStopFrameType.LastFrame) { mIndex = mCurrentNames.Count - 1; mSprite.SpriteName = mCurrentNames[mIndex]; } } }
public void UpdateLinePos() { if (!mIsShow) { return; } if (mLine == null || !SFOut.IGame.IsLanuchMainPlayer || SFOut.IScene.CahceWorldTrans == null) { return; } ISFAvater avatar1 = SFOut.IScene.getAvatarByISFAvatar(avatarID1); if (avatar1 == null || avatar1.isDead) { Show(false); mIsShow = false; return; } ISFAvater avatar2 = SFOut.IScene.getAvatarByISFAvatar(avatarID2); if (avatar2 == null || avatar2.isDead) { Show(false); mIsShow = false; return; } SFMisc.Dot2 dot = avatar1.getOldCellPos - avatar2.getOldCellPos; int dist = dot.Pow2(); bool b = dist <= (showDist * showDist); if (mLine.enabled != b) { mLine.enabled = b; } if (!b) { Show(false); mIsShow = false; return; } float z = avatar1.CacheTransform.localPosition.z > avatar2.CacheTransform.localPosition.z ? avatar2.CacheTransform.localPosition.z : avatar1.CacheTransform.localPosition.z; Vector3 vec1 = avatar1.getRealPosition2() + delta1 + SFOut.IScene.CahceWorldTrans.TransformPoint(new Vector3(0, 0, z - 1000)); Vector3 vec2 = avatar2.getRealPosition2() + delta2 + SFOut.IScene.CahceWorldTrans.TransformPoint(new Vector3(0, 0, z - 1000)); mLine.SetPosition(0, vec1); mLine.SetPosition(1, vec2); }
public void RemoveAvatarID(ISFAvater avatar) { if (avatar == null || avatar.ID == 0) { return; } if (avatar.AvatarType == EAvatarType.NPC && avatar.ID == npcID) { npcID = 0; } if (AvatarIDList.Contains(avatar.ID) /*&&!avatar.isLoad*/)//玩家死亡时,只是倒地,isLoad==true { AvatarIDList.Remove(avatar.ID); } //UpdateAvatarNum(); if (NotLoadAvatarIDList.Contains(avatar.ID))//玩家死亡时,只是倒地,isLoad==true { NotLoadAvatarIDList.Remove(avatar.ID); } }
public virtual void SetAtlasPostProc(ISFAvater avater) { if (mSprite != null && curFrame < mCurrentNames.Count) { string s = mCurrentNames[curFrame]; mSprite.SpriteName = s; //Debug.Log(s); } // #if UNITY_EDITOR // if (!isDebug) return; // if (mSprite.SpriteName != null && mSprite.Atlas != null) // { // bool isFind = false; // for (int i = 0; i < mSprite.Atlas.spriteList.Count; i++) // { // UISpriteData data = mSprite.Atlas.spriteList[i]; // if (data.name == mSprite.SpriteName) // { // isFind = true; // break; // } // } // if (!isFind) // { // Debug.LogError("Not Find = " + mSprite.SpriteName + " " + mSprite.Atlas.name); // } // } // else if (mSprite.SpriteName != null) // { // Debug.LogError("Not Find = " + mSprite.SpriteName); // } // else if(mSprite.Atlas != null) // { // Debug.LogError("Not Find = " + mSprite.Atlas.name); // } // else // { // Debug.LogError("Not Find = "); // } //#endif }
byte UpdateAvatarNum() { if (!SFOut.IGame.IsLanuchMainPlayer) { return(0); } if (AvatarIDList == null) { return(0); } byte num = 0; for (int i = 0; i < AvatarIDList.Count; i++) { ISFAvater a = SFOut.IScene.getAvatarByISFAvatar(AvatarIDList[i]); if (a != null && a.AvatarType == EAvatarType.Player) { num++; } } return(num); }
void OnLoaded(CSResource res) { if (!mIsShow) { return; } if (SFOut.IScene == null) { return; } if (mLine == null) { ISFAvater avatar = SFOut.IScene.getAvatarByISFAvatar(avatarID1); if (avatar == null) { return; } GameObject go = res.GetObjInst() as GameObject; if (go == null) { return; } SFMisc.SetLayer(go, 0); Transform trans = go.transform; trans.parent = avatar.CacheTransform; trans.localPosition = Vector3.zero; trans.localScale = Vector3.one; mLine = go.GetComponent <LineRenderer>(); } if (mLine == null) { Destroy(); return; } UpdateLinePos(); }
//public ActorAnimationTrigger AnimTrigger //{ // get { return mAnimTrigger; } //} public FSMState(ISFAvater ac) { mActor = ac; //mAnimTrigger = new ActorAnimationTrigger(ac); }
public virtual void SetAtlasPostProc(ISFAvater avatar) { }