void Awake()
    {
        FieldObjectEntityFactory.init(prefabs);
        FieldObjectService.init();

/*
 *      Observable.Zip(
 *          //MessageBroker.Default.Receive<CreatedEffectiveFloor>(),
 *          //MessageBroker.Default.Receive<CreatedGameStageRank>(),
 *          //MessageBroker.Default.Receive<CreatedEquipBaseResouces>(),
 *          //MessageBroker.Default.Receive<CreatedFieldObject>(),
 *          MessageBroker.Default.Receive<CreatedPlayerService>(),
 *          //MessageBroker.Default.Receive<LogInitialized>(),
 *          Tuple.Create
 *      ).Subscribe(x => {
 *          //LogService.write("FieldObjectManager::Awake()::Receive<6>");
 *          //FieldObjectService.init(x.Item5.player_service);
 *          FieldObjectService.createRandomEntities();
 *
 *          MessageBroker.Default.Publish<CreatedFieldObject>(new CreatedFieldObject());
 *      });
 */
        //FieldObjectService.reset();

        MessageBroker.Default.Receive <CreatedEffectiveFloor>().Subscribe(x => {
            Debug.Log("MessageBroker.Default.Receive<CreatedPlayerService>().Subscribe()");
            //FieldObjectService.createRandomEntities();
            FieldObjectService.reset();
            MessageBroker.Default.Publish <CreatedFieldObject>(new CreatedFieldObject());
        });
    }
Пример #2
0
        public IPoolObject create(Type type, FieldObjectID id)
        {
            switch (type)
            {
            /*
             * case Type.Item:
             *  return ItemFactory.create(id);
             * case Type.Monster:
             *  return MonsterFactory.create(id);
             */
            case Type.Props:
                IPoolObject obj = FieldObjectEntityFactory.createBlank(id);
                obj.init();
                return(obj);

            //return PropsFactory.create(id);
            default:
                break;
            }

            throw new System.Exception("Not created PoolObject: Invalid PoolObject Type");
        }