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()); }); }
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"); }