コード例 #1
0
    protected void CreateCityFakeDrop(short state, WildBossCityDropNty down = null)
    {
        if (state != 0)
        {
            StateManager.Instance.StateShow(state, 0);
            return;
        }
        if (down == null)
        {
            return;
        }
        Vector3        vector = PosDirUtility.ToTerrainPoint(down.pos, 0f);
        List <Vector3> list   = this.SetCityFakeDropWaitingPosition(down.bossCode, vector);

        for (int i = 0; i < down.dropCount; i++)
        {
            if (list.get_Count() == 0)
            {
                CityFakeDrop.CreateCityFakeDrop(WildBossManager.CityFakeDropModel, vector, vector, 0);
            }
            else
            {
                CityFakeDrop.CreateCityFakeDrop(WildBossManager.CityFakeDropModel, vector, list.get_Item(i % list.get_Count()), 0);
            }
        }
    }
コード例 #2
0
 protected void OnSelfEnter()
 {
     this.currentState = CityFakeDrop.CityFakeDropState.None;
     if (EntityWorld.Instance.EntSelf != null)
     {
         EntityWorld.Instance.EntSelf.GetFakeDrop();
     }
     EventDispatcher.Broadcast(WildBossManagerEvent.GetCityFakeDrop);
     CityFakeDrop.DeleteCityFakeDrop(this);
 }
コード例 #3
0
    public static CityFakeDrop CreateCityFakeDrop(int modelID, Vector3 originPoint, Vector3 waitPoint, int waitFxID)
    {
        DiaoLuoMoXingBiao diaoLuoMoXingBiao = DataReader <DiaoLuoMoXingBiao> .Get(modelID);

        if (diaoLuoMoXingBiao == null)
        {
            return(null);
        }
        GameObject gameObject = GameObjectLoader.Instance.Get(diaoLuoMoXingBiao.path);

        if (gameObject == null)
        {
            return(null);
        }
        CityFakeDrop cityFakeDrop = gameObject.AddUniqueComponent <CityFakeDrop>();

        cityFakeDrop.animator = cityFakeDrop.GetComponentInChildren <Animator>();
        cityFakeDrop.get_gameObject().set_layer(LayerSystem.NameToLayer("Gear"));
        cityFakeDrop.get_transform().set_parent(CityFakeDrop.CityDropPool.get_transform());
        cityFakeDrop.get_transform().set_position(originPoint);
        if (originPoint.x == waitPoint.x && originPoint.z == waitPoint.z)
        {
            cityFakeDrop.currentState           = CityFakeDrop.CityFakeDropState.Wait;
            cityFakeDrop.waitPosition           = originPoint;
            cityFakeDrop.flyToWaitPositionSpeed = Vector3.get_zero();
        }
        else
        {
            cityFakeDrop.currentState           = CityFakeDrop.CityFakeDropState.FlyToWait;
            cityFakeDrop.waitPosition           = MySceneManager.GetTerrainPoint(waitPoint.x, waitPoint.z, waitPoint.y);
            cityFakeDrop.flyToWaitPositionSpeed = (cityFakeDrop.waitPosition - originPoint) / CityFakeDrop.FlyToWaitPositionDefaultTime;
        }
        cityFakeDrop.waitFxModelID = waitFxID;
        cityFakeDrop.waitCollider  = cityFakeDrop.GetComponent <BoxCollider>();
        cityFakeDrop.waitCollider.set_enabled(false);
        CityFakeDrop.allCityFakeDrop.Add(cityFakeDrop);
        return(cityFakeDrop);
    }
コード例 #4
0
 public static void DeleteCityFakeDrop(CityFakeDrop drop)
 {
     CityFakeDrop.allCityFakeDrop.Remove(drop);
     drop.Delete();
 }