Esempio n. 1
0
    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);
            }
        }
    }
Esempio n. 2
0
 public void End(ISFAvater p, BehaviorState nextBehv)
 {
     if (mBehaviorEndDel != null)
     {
         mBehaviorEndDel(p, nextBehv);
     }
 }
Esempio n. 3
0
 public void Start(ISFAvater p, BehaviorState lastBehv)
 {
     if (mBehaviorStartDel != null)
     {
         mBehaviorStartDel(p, lastBehv);
     }
 }
Esempio n. 4
0
    public int Update(ISFAvater p)
    {
        if (mBehaviorUpdateDel != null)
        {
            return(mBehaviorUpdateDel(p));
        }

        return(Behavior);
    }
Esempio n. 5
0
    //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;
    }
Esempio n. 6
0
 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];
         }
     }
 }
Esempio n. 7
0
 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];
         }
     }
 }
Esempio n. 8
0
    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);
    }
Esempio n. 9
0
 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);
     }
 }
Esempio n. 10
0
    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
    }
Esempio n. 11
0
    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);
    }
Esempio n. 12
0
    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();
    }
Esempio n. 13
0
    //public ActorAnimationTrigger AnimTrigger
    //{
    //    get { return mAnimTrigger; }
    //}

    public FSMState(ISFAvater ac)
    {
        mActor = ac;
        //mAnimTrigger = new ActorAnimationTrigger(ac);
    }
Esempio n. 14
0
 public virtual void SetAtlasPostProc(ISFAvater avatar)
 {
 }