Inheritance: MonoBehaviour
Exemplo n.º 1
0
        public TestScene()
        {
            _random = new DotNetRandom();

            MapBuilder builder = new ForestBuilder(64, 64, 0, _random.Next());

            builder.Build();
            _map = builder.Map;
            _fov = new FieldOfView(_map);

            Race playerRace = Engine.Assets.GetAsset <Race>("player");

            _player = new Player(playerRace);
            _map.Add(_player, 32, 32);

            for (int i = 0; i < 10; i++)
            {
                Creature frog = CreatureGenerator.NewCreature("frog");
                _map.Add(frog, _map.RandomEmptyPoint(_random));
            }

            for (int i = 0; i < 10; i++)
            {
                Creature rat = CreatureGenerator.NewCreature("rat");
                _map.Add(rat, _map.RandomEmptyPoint(_random));
            }

            _turnManager = new TurnManager <Creature>(_map.Creatures);

            _tileSelection = Engine.Assets.GetAsset <Sprite>("tile_selection");

            _soundEffectManager.LoadSoundEffect("rain_looped");
            _soundEffectManager.LoadSoundEffect("thunder_01");

            _soundEffectManager.Play("rain_looped", 0.4f, loop: true);

            _camera      = new Camera();
            _camera.Zoom = 1f;

            int w = Engine.Width / 8;
            int h = Engine.Height / 8;

            _camera.Origin = new Vector2(Engine.Width / 2, Engine.Height / 2);
            _camera.X      = _player.RenderX;
            _camera.Y      = _player.RenderY;


            _mapRenderer       = new MapRenderer(_map, _lightingManager, _camera);
            _creatureRenderer  = new CreatureRenderer(_map.Creatures, _map, _lightingManager, _camera);
            _effectsRenderer   = new EffectsRenderer(_map, _lightingManager, _camera);
            _interfaceRenderer = new InterfaceRenderer(_map, _camera);
        }
Exemplo n.º 2
0
    void UpdateData()
    {
        CreatureRenderer creature_renderer = (CreatureRenderer)target;

        creature_renderer.creature_asset         = (CreatureAsset)creature_asset.objectReferenceValue;
        creature_renderer.animation_choice_index = animation_choice_index.intValue;
        creature_renderer.should_loop            = should_loop.boolValue;
        creature_renderer.local_time_scale       = local_time_scale.floatValue;
        creature_renderer.region_offsets_z       = region_offsets_z.floatValue;
        creature_renderer.counter_clockwise      = counter_clockwise.boolValue;
        creature_renderer.InitData();
        creature_renderer.CreateRenderingData();
    }
Exemplo n.º 3
0
    internal void DestroyCreature(CreatureRenderer creature)
    {
        if (creature != null)
        {
            Debug.Log($"Destroying: {creature.Data.Name}");
            if (creature.Data.Task != null)
            {
                creature.Data.AbandonTask();
            }

            Loc.GetFactionController().Factions[creature.Data.FactionName].Creatures.Remove(creature.Data);
            Loc.GetIdService().RemoveCreature(creature.Data);
            Loc.GetGameController().AddItemToDestroy(creature.gameObject);
        }
    }
Exemplo n.º 4
0
        protected override void Update(GameTime gameTime)
        {
            base.Update(gameTime);

            if (Simulation != null && Simulation.CreatureManager != null && Simulation.CreatureManager.SelectedCreature != null)
            {
                renderer.Network = Simulation.CreatureManager.SelectedCreature.Brain;
            }
            else
            {
                renderer.Network = null;
            }

            if (creatureRender == null && Simulation != null)
            {
                creatureRender = new CreatureRenderer(Simulation.CreatureManager);
                creatureRender.Initialize(Content, GraphicsDevice, spriteBatch);
            }
        }
Exemplo n.º 5
0
    void updateTargetAnimation()
    {
        CreatureRenderer creature_renderer = (CreatureRenderer)target;
        CreatureAsset    cur_asset         = (CreatureAsset)creature_asset.objectReferenceValue;

        int    i        = 0;
        string set_name = null;

        foreach (string cur_name in cur_asset.creature_manager.animations.Keys)
        {
            if (i == animation_choice_index.intValue)
            {
                set_name = cur_name;
                break;
            }
            i++;
        }

        if (creature_renderer.active_animation_name.Equals(set_name) == false)
        {
            creature_renderer.SetActiveAnimation(set_name);
            active_animation_name.stringValue = creature_renderer.active_animation_name;
        }
    }