Beispiel #1
0
    public Factory(int id)
    {
        this.id = id;

        SetTeam(Team.Neutral);

        links    = new Dictionary <Factory, int>();
        incoming = new Dictionary <int, Troop>();
        states   = new List <FactoryState>();

        stats = new FactoryStats();
    }
Beispiel #2
0
    public void Awake()
    {
        if (FindObjectsOfType <Installer>().Length > 1)
        {
            Destroy(gameObject);
            return;
        }
        var searchingFile = new SearchFile();

        ServiceLocatorImplement.Instancie.RegisterService <ISearchFile>(searchingFile);

        var factory = new FactoryStats();

        ServiceLocatorImplement.Instancie.RegisterService <IFactoryStats>(factory);

        List <CharacterBase> personajesElegibles = new List <CharacterBase>();

        foreach (CharacterView go in personajesElegiblesGO)
        {
            go.Start();
            personajesElegibles.Add(go.CharacterBase);
        }

        var manejadorDePersonajes = new ManejadorDePersonajes();

        manejadorDePersonajes.Installer(personajesElegibles);
        ServiceLocatorImplement.Instancie.RegisterService <IGuardarReferenciaDeLosPlayer>(manejadorDePersonajes);
        ServiceLocatorImplement.Instancie.RegisterService <IObtenerReferenciaDeLosPlayer>(manejadorDePersonajes);
        ServiceLocatorImplement.Instancie.RegisterService <IManejadorDePersonaje>(manejadorDePersonajes);

        var obtenerData = new GuardadoDeDatosPorPlayerPref();

        ServiceLocatorImplement.Instancie.RegisterService <IObtenerData>(obtenerData);
        ServiceLocatorImplement.Instancie.RegisterService <IGuardarData>(obtenerData);

        /*
         *
         *
         *
         *
         *
         * var jsonItulity = new FacadeJsonUtility();
         * ServiceLocatorImplement.Instancie.RegisterService<IFacadeJsonUtility>(jsonItulity);*/

        DontDestroyOnLoad(gameObject);
    }
 /// <summary>
 /// Allows the game to perform any initialization it needs to before starting to run.
 /// This is where it can query for any required services and load any non-graphic
 /// related content.  Calling base.Initialize will enumerate through any components
 /// and initialize them as well.
 /// </summary>
 protected override void Initialize()
 {
     FactoryStats.Initialize();
     base.Initialize();
 }
Beispiel #4
0
        public override void LoadContent(ContentManager content)
        {
            _managerMap.LoadContent();

            var player = new BaseObject {
                Id = "player"
            };

            player.AddComponent(new Sprite(ManagerContent.LoadTexture("link_full"), 16, 16, new Vector2(50, 50)));
            player.AddComponent(new PlayerInput(ManagerScreen, _managerPlayer));
            player.AddComponent(new Animation(16, 16, 2));
            player.AddComponent(new Collision(_managerMap, _entities));
            player.AddComponent(new Camera(_managerCamera));
            player.AddComponent(new Equipment(content, _managerMap, _managerCamera, _entities));
            player.GetComponent <Equipment>(ComponentType.Equipment).AddItem(new Boomerang(_entities));
            player.GetComponent <Equipment>(ComponentType.Equipment).AddItem(new Sword(_entities));
            player.GetComponent <Equipment>(ComponentType.Equipment).EquipItemInSlot(1, ItemSlot.A);
            player.GetComponent <Equipment>(ComponentType.Equipment).EquipItemInSlot(2, ItemSlot.B);
            player.AddComponent(new Damage(_entities, true));
            player.AddComponent(FactoryStats.GetStats("Link"));
            player.AddComponent(new GUI());
            player.GetComponent <GUI>(ComponentType.GUI).LoadContent(content);


            var testNPC = new BaseObject {
                Hostile = false
            };

            testNPC.AddComponent(new Sprite(ManagerContent.LoadTexture("Marin"), 16, 16, new Vector2(70, 40)));
            //testNPC.AddComponent(new AIMovementRandom(200));
            testNPC.AddComponent(new Animation(16, 16));
            testNPC.AddComponent(new Collision(_managerMap, _entities));
            testNPC.AddComponent(new Camera(_managerCamera));
            //testNPC.AddComponent(new EventTriggerDistance(new List<IGameEvent> { new GameEventMessage("Don't get any closer!")},  new List<BaseObject> { player}, 20, 3000));
            testNPC.AddComponent(new BlockPush(player));
            _entities.AddEntity(testNPC);
            _entities.AddEntity(player);
            //for (int n = 0; n < 1; n++)
            //{
            //    var testEnemy = new BaseObject { Id = string.Format("enemy_{0}", n) };
            //    testEnemy.AddComponent(new Sprite(ManagerContent.LoadTexture("Octorok"), 16, 16, new Vector2(50 + ManagerFunction.Random(10, 20), 50 + ManagerFunction.Random(10, 20))));
            //    testEnemy.AddComponent(new AIMovementRandom(1000));
            //    testEnemy.AddComponent(new Animation(16, 16, 2));
            //    testEnemy.AddComponent(new Collision(_managerMap, _entities));
            //    testEnemy.AddComponent(new Octorok(player, ManagerContent.LoadTexture("Octorok_bullet"), _managerMap, _entities));
            //    testEnemy.AddComponent(new Camera(_managerCamera));
            //    testEnemy.AddComponent(new Damage(_entities));
            //    testEnemy.AddComponent(FactoryStats.GetStats("Octorok"));
            //    testEnemy.AddComponent(new StatusEffect());
            //    _entities.AddEntity(testEnemy);
            //}



            //_entities.AddEntity(testNPC);
            //Script test!
            //var testEnemy = new BaseObject { Id = string.Format("enemy_{0}", "script") };
            //testEnemy.AddComponent(new Sprite(content.Load<Texture2D>("Octorok"), 16, 16, new Vector2(50 + ManagerFunction.Random(10, 20), 50 + ManagerFunction.Random(10, 20))));
            //testEnemy.AddComponent(new AIMovementRandom(1000, 0.5f));
            //testEnemy.AddComponent(new Animation(16, 16, 2));
            //testEnemy.AddComponent(new Collision(_managerMap,_entities));
            //testEnemy.AddComponent(new Octorok(player, content.Load<Texture2D>("Octorok_bullet"), _managerMap,_entities));
            //testEnemy.AddComponent(new Camera(_managerCamera));
            //testEnemy.AddComponent(new Damage(_entities));
            //testEnemy.AddComponent(FactoryStats.GetStats("Octorok"));
            //testEnemy.AddComponent(new Script("script_time_test"));
            //_entities.AddEntity(testEnemy);



            //Just for test
            //var window = new WindowMessage("Hello, this is a message! This is a long message",content);
            //ManagerWindow.NewWindow("test_message",window);
        }