public void ToItem(AGSSerializationContext context, AGSImageComponent container) { container.SpriteProvider = SpriteProvider.ToItem(context); container.Border = Border.ToItem(context); container.DebugDrawPivot = DebugDrawPivot; container.Image = Image.ToItem(context); }
public void SwitchTileState(TileType tileType, SpriteProvider spriteProvider) { switch (tileType) { case TileType.Wall: tileName = "Wall " + id; this.gameObject.name = tileName; renderer2D.sprite = spriteProvider.GetSprite("Wall"); this.tileSize = new Vector3(renderer2D.sprite.textureRect.width / 100, renderer2D.sprite.textureRect.height / 100); this.gameObject.layer = 9; this.collider.size = new Vector2(renderer2D.sprite.textureRect.width / 100, renderer2D.sprite.textureRect.height / 100); this.collider.enabled = true; break; case TileType.Ground: passable = true; tileName = "Ground " + id; this.gameObject.name = tileName; renderer2D.sprite = spriteProvider.GetSprite("Ground"); this.tileSize = new Vector3(renderer2D.sprite.textureRect.width / 100, renderer2D.sprite.textureRect.height / 100); this.gameObject.layer = 8; this.collider.size = new Vector2(renderer2D.sprite.textureRect.width / 100, renderer2D.sprite.textureRect.height / 100); this.collider.enabled = false; break; case TileType.Test: tileName = "Test " + id; this.gameObject.name = tileName; renderer2D.sprite = spriteProvider.GetSprite("Test"); this.tileSize = new Vector3(renderer2D.sprite.textureRect.width / 100, renderer2D.sprite.textureRect.height / 100); break; case TileType.Empty: tileName = "Empty " + id; this.gameObject.name = tileName; renderer2D.sprite = spriteProvider.GetSprite("Wall"); this.tileSize = new Vector3(renderer2D.sprite.textureRect.width / 100, renderer2D.sprite.textureRect.height / 100); break; case TileType.OpenDoor: passable = true; tileName = "OpenDoor " + id; this.gameObject.name = tileName; renderer2D.sprite = spriteProvider.GetSprite("OpenDoor"); this.tileSize = new Vector3(renderer2D.sprite.textureRect.width / 100, renderer2D.sprite.textureRect.height / 100); break; case TileType.ClosedDoor: passable = true; tileName = "ClosedDoor" + id; this.gameObject.name = tileName; renderer2D.sprite = spriteProvider.GetSprite("ClosedDoor"); this.tileSize = new Vector3(renderer2D.sprite.textureRect.width / 100, renderer2D.sprite.textureRect.height / 100); break; } }
void OnEnable() { dungeon = target as Dungeon; dungeon.level = new Level(); Tools.current = Tool.View; tilePool = new Dictionary <int, GameObject>(); if (dungeon.texture2D) { spriteProvider = new SpriteProvider(AssetDatabase.GetAssetPath(dungeon.texture2D)); } }
public static void LoadTextures(TextureProvider textureProvider, SpriteProvider spriteProvider, string folderLocation) { var texturePaths = FileServices.GetResourceFiles(folderLocation, ".png", ".jpg"); // build textures and sprite foreach (var path in texturePaths) { var texture = FileServices.LoadTextureResource(path); var sprite = FileServices.CreateSpriteFromTexture(texture); textureProvider.AddTexture(texture); spriteProvider.AddSprite(sprite); } }
public static Tile CreateTile(TileType tileType, Vector2 position, SpriteProvider spriteProvider, int id) { Tile tile = null; GameObject go = new GameObject("Tile"); tile = go.AddComponent <Tile>(); tile.id = id; tile.gameObject.transform.position = position; tile.tileType = tileType; tile.renderer2D = go.AddComponent <SpriteRenderer>(); tile.collider = go.AddComponent <BoxCollider2D>(); tile.collider.center = new Vector2(0, 0); tile.SwitchTileState(tileType, spriteProvider); return(tile); }
/// <summary> /// Gets the transform information for all object types and calls the relevant apply method for each one. /// </summary> protected virtual void Animate(float deltaTime) { FrameData = DataProvider.GetFrameData(Time, deltaTime, factor, CurrentAnimation, NextAnimation); for (int i = 0; i < FrameData.SpriteData.Count; ++i) { SpriterObject info = FrameData.SpriteData[i]; TSprite sprite = SpriteProvider.Get(info.FolderId, info.FileId); if (sprite != null) { ApplySpriteTransform(sprite, info); } } for (int i = 0; i < FrameData.Sounds.Count; ++i) { SpriterSound info = FrameData.Sounds[i]; TSound sound = SoundProvider.Get(info.FolderId, info.FileId); if (sound != null) { PlaySound(sound, info); } } var pointE = FrameData.PointData.GetEnumerator(); while (pointE.MoveNext()) { var e = pointE.Current; ApplyPointTransform(e.Key, e.Value); } var boxE = FrameData.BoxData.GetEnumerator(); while (boxE.MoveNext()) { var e = boxE.Current; ApplyBoxTransform(Entity.ObjectInfos[e.Key], e.Value); } for (int i = 0; i < FrameData.Events.Count; ++i) { DispatchEvent(FrameData.Events[i]); } }
// Use this for initialization void Start() { dungeon = GameObject.FindGameObjectWithTag("Dungeon").GetComponent <Dungeon>(); spriteProvider = new SpriteProvider(AssetDatabase.GetAssetPath(dungeon.texture2D)); stage = BuildStage(); GameObject go = Instantiate(Resources.Load("Hero")) as GameObject; Hero hero = go.GetComponent <Hero>(); IntVector2 heroPos = stage.findOpenTile(); go.transform.position = heroPos; this.hero = go.transform; hero.pos = heroPos; stage.actors.Add(heroPos, hero); stage.hero = hero; Display(); }
public void ToItem(AGSSerializationContext context, AGSImageComponent container) { container.SpriteProvider = SpriteProvider.ToItem(context); container.Image = Image.ToItem(context); }
public void Start() { /* RESOURCE LIST CREATION */ #if UNITY_EDITOR AssetDatabase.Refresh(); FileServices.CreateResourcesList("Assets/Resources/resourceslist.txt"); #endif FileServices.LoadResourcesList("resourceslist"); #region LOAD RESOURCES // logger and ioc _logger = new Logger("info.log", false); _resolver = new IoCResolver(_logger); _resolver.RegisterItem(_logger); _config = new UserConfigurationManager(new UserConfigurationData { GameVolume = 1f, MusicVolume = 1f }); _resolver.RegisterItem(_config); // messager _messager = new Messager(); _resolver.RegisterItem(_messager); // unity reference master _unity = GetComponent <UnityReferenceMaster>(); _unity.DebugModeActive = false; _resolver.RegisterItem(_unity); // player var player = new UserAccountManager(); _resolver.RegisterItem(player); // material provider var materialProvider = new MaterialProvider(_logger); MaterialLoader.LoadMaterial(materialProvider, "Materials"); _resolver.RegisterItem(materialProvider); // texture provider var textureProvider = new TextureProvider(_logger); var spriteProvider = new SpriteProvider(_logger); TextureLoader.LoadTextures(textureProvider, spriteProvider, "Textures"); _resolver.RegisterItem(textureProvider); _resolver.RegisterItem(spriteProvider); // sound provider var soundProvider = new SoundProvider(_logger); SoundLoader.LoadSounds(_logger, soundProvider, "Sounds"); _resolver.RegisterItem(soundProvider); // prefab provider var prefabProvider = new PrefabProvider(_logger); PrefabLoader.LoadPrefabs(prefabProvider); _resolver.RegisterItem(prefabProvider); // pooling var poolingObjectManager = new PoolingObjectManager(_logger, prefabProvider); _resolver.RegisterItem(poolingObjectManager); var soundPoolManager = new PoolingAudioPlayer(_logger, _config, _unity, prefabProvider.GetPrefab("audio_source_prefab")); _resolver.RegisterItem(soundPoolManager); _particles = new PoolingParticleManager(_resolver); _resolver.RegisterItem(_particles); // canvas provider var canvasProvider = new CanvasProvider(_logger); _unity.LoadCanvases(canvasProvider); _resolver.RegisterItem(canvasProvider); // data provider var gameDataProvider = new GameDataProvider(_logger); /* DATA GOES HERE */ _resolver.RegisterItem(gameDataProvider); #endregion _uiManager = new UiManager(); _resolver.RegisterItem(_uiManager); // lock the resolver (stop any new items being registered) _resolver.Lock(); /* BEGIN STATE */ _currentState = new MenuState(_resolver); _currentState.Initialize(); /* SUBSCRIBE FOR GAME END */ _onExit = _messager.Subscribe <ExitMessage>(OnExit); }
public void Start() { /* RESOURCE LIST CREATION */ #if UNITY_EDITOR AssetDatabase.Refresh(); FileServices.CreateResourcesList("Assets/Resources/resourceslist.txt"); #endif FileServices.LoadResourcesList("resourceslist"); #region LOAD RESOURCES // logger and ioc _logger = new Logger("info.log", false); _resolver = new IoCResolver(_logger); _resolver.RegisterItem(_logger); _config = new UserConfigurationManager(new UserConfigurationData { GameVolume = 1f, MusicVolume = 1f }); _resolver.RegisterItem(_config); // messager _messager = new Messager(); _resolver.RegisterItem(_messager); // unity reference master _unity = GetComponent<UnityReferenceMaster>(); _unity.DebugModeActive = false; _resolver.RegisterItem(_unity); // player var player = new UserAccountManager(); _resolver.RegisterItem(player); // material provider var materialProvider = new MaterialProvider(_logger); MaterialLoader.LoadMaterial(materialProvider,"Materials"); _resolver.RegisterItem(materialProvider); // texture provider var textureProvider = new TextureProvider(_logger); var spriteProvider = new SpriteProvider(_logger); TextureLoader.LoadTextures(textureProvider, spriteProvider, "Textures"); _resolver.RegisterItem(textureProvider); _resolver.RegisterItem(spriteProvider); // sound provider var soundProvider = new SoundProvider(_logger); SoundLoader.LoadSounds(_logger, soundProvider, "Sounds"); _resolver.RegisterItem(soundProvider); // prefab provider var prefabProvider = new PrefabProvider(_logger); PrefabLoader.LoadPrefabs(prefabProvider); _resolver.RegisterItem(prefabProvider); // pooling var poolingObjectManager = new PoolingObjectManager(_logger, prefabProvider); _resolver.RegisterItem(poolingObjectManager); var soundPoolManager = new PoolingAudioPlayer(_logger, _config, _unity, prefabProvider.GetPrefab("audio_source_prefab")); _resolver.RegisterItem(soundPoolManager); _particles = new PoolingParticleManager(_resolver); _resolver.RegisterItem(_particles); // canvas provider var canvasProvider = new CanvasProvider(_logger); _unity.LoadCanvases(canvasProvider); _resolver.RegisterItem(canvasProvider); // data provider var gameDataProvider = new GameDataProvider(_logger); /* DATA GOES HERE */ _resolver.RegisterItem(gameDataProvider); #endregion _uiManager = new UiManager(); _resolver.RegisterItem(_uiManager); // lock the resolver (stop any new items being registered) _resolver.Lock(); /* BEGIN STATE */ _currentState = new MenuState(_resolver); _currentState.Initialize(); /* SUBSCRIBE FOR GAME END */ _onExit = _messager.Subscribe<ExitMessage>(OnExit); }