Пример #1
0
        public void CharacterFactoryWorks()
        {
            var characterDao = StrictMock.For<ICharacterDao>();
            characterDao.Setup(d => d.Name).Returns(Name);

            var character = new CharacterFactory().FromDao(characterDao.Object);

            Assert.Equal(Name, character.Name);
        }
Пример #2
0
    public string JoinParty(string[] args)
    {
        string faction       = args[0];
        string characterType = args[1];
        string name          = args[2];

        CharacterFactory factory          = new CharacterFactory();
        Character        currentCharacter = factory.CreateCharacter(faction, characterType, name);

        allCharacters.Add(currentCharacter);
        return($"{currentCharacter.Name} joined the party!");
    }
Пример #3
0
 public void SpawnAllPools()
 {
     for (int i = 0; i < pools.Length; i++)
     {
         for (int j = 0; j < pools[i].StartCount; j++)
         {
             damageable = CharacterFactory.Create(pools[i].CharacterToPool.Prefab, pools[i]) as IDamageable;
             damageable.GameObject.transform.position = myTransform.position + ((i * j) * offset);
             damageable.GameObject.transform.rotation = myTransform.rotation;
         }
     }
 }
    public string JoinParty(string[] args)
    {
        string faction       = args[0];
        string characterType = args[1];
        string name          = args[2];

        CharacterFactory charactersFactory = new CharacterFactory();
        Character        character         = charactersFactory.CreateCharacter(faction, characterType, name);

        party.Add(character);
        return($"{name} joined the party!");
    }
Пример #5
0
    public GameManager()
    {
        playerControlSets    = new Dictionary <string, KeyCode> [2];
        playerCharacterPicks = new string[2];

        characterFactory = new CharacterFactory();
        CharNameToId     = new Dictionary <string, int>();
        CharNameToId.Add("Coco", 0);
        CharNameToId.Add("Rock", 1);
        CharNameToId.Add("DK", 2);
        CharNameToId.Add("UnityChan", 3);
    }
Пример #6
0
        public SurfaceWindow()
        {
            InitializeComponent();
            SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint, true);

            this.ClientSize = Properties.Resources.background.Size;
            PinToBackground();
            renderer = new Renderer(this);

            /* ** Create Scenes ** */

            // Background
            var background = new c.Image(renderer);

            background.SetSource(Properties.Resources.background);

            renderer.AddScene(background);

            // FPS
#if DEBUG
            renderer.AddScene(new c.FPSScene(renderer));
#endif

            // Leaf
            var lm = new LeafManager(renderer);
            lm.Size     = new SharpDX.Size2(this.ClientSize.Width, this.ClientSize.Height);
            lm.Interval = TimeSpan.FromMilliseconds(0);

            /*
             * lm.Sources.AddRange(
             *  new Bitmap[]
             *  {
             *      Properties.Resources.leaf_1,
             *      Properties.Resources.leaf_2,
             *      Properties.Resources.leaf_3,
             *      Properties.Resources.leaf_4,
             *      Properties.Resources.leaf_5
             *  });
             *
             * renderer.AddScene(lm);
             * lm.Begin();
             */
            // Morph
            var f  = new Font("맑은고딕", 128, FontStyle.Bold);
            var mm = new MorphingManager(renderer);
            mm.AddMorphing(
                CharacterFactory.ToBitmap("御坂", f.Clone() as Font),
                CharacterFactory.ToBitmap("美琴", f.Clone() as Font));

            renderer.AddScene(mm);
            mm.Begin();
        }
Пример #7
0
        protected override void CreateCharacter(string[] inputParams)
        {
            string characterType = inputParams[1];
            string id            = inputParams[2];
            int    x             = int.Parse(inputParams[3]);
            int    y             = int.Parse(inputParams[4]);
            string teamType      = inputParams[5];
            Team   team          = (Team)Enum.Parse(typeof(Team), teamType);

            Character character = CharacterFactory.Create(characterType, id, x, y, team);

            this.characterList.Add(character);
        }
Пример #8
0
        public void Initialize()
        {
            gameEnded = false;

            _characterFactory = CharacterFactory.Instance;
            _characterManger  = CharacterManager.Instance;

            _characterManger.Initialize();

            LifesController lifesController = LifesController.Instance();

            lifesController.SetInitialLifes();
        }
Пример #9
0
        public ApplicationServiceTests()
        {
            // Create mocks of the dependencies
            _characterRepository = new Mock <ICharacterRepository>();
            _eventBus            = new Mock <IEventBus>();

            // Create the character factory - Provide a seed to the DiceRollService to get deterministic results for testing.
            var diceRollService  = new DiceRollService(1);
            var hitDiceService   = new HitDiceService(diceRollService);
            var characterFactory = new CharacterFactory(hitDiceService);

            _instance = new ApplicationService(_characterRepository.Object, _eventBus.Object, characterFactory);
        }
Пример #10
0
    private void AfterEndSceneLoad(AsyncOperation asyncOperation)
    {
        Cursor.lockState = CursorLockMode.None;
        Cursor.visible   = true;

        Debug.Log(NPCInteraction.activeCharacter == null);
        GameObject culprit = Instantiate(CharacterFactory.GetCharacterPrefab(NPCInteraction.activeCharacter.Name), GameObject.FindGameObjectWithTag("Finish").transform);

        culprit.transform.localPosition = Vector3.zero;

        EventManager.Accusation(correctAccusation);
        TransitionHandler.Instance.FadeOut();
    }
Пример #11
0
    private static ICharacter GetCharacter(Requirements requirements)
    {
        CharacterFactory factory = new CharacterFactory();

        if (requirements.isEvil == true)
        {
            return(factory.VillainFactory().Create(requirements));
        }
        else
        {
            return(factory.HeroFactory().Create(requirements));
        }
    }
Пример #12
0
        public void ClientScriptSetUp()
        {
            CharacterFactory.ClearPlayers();

            CharacterFactory.AddPlayer();

            _localPlayer = new ThreadLocal <Character>(() =>
            {
                return(CharacterFactory.GetLocalPlayerCharacter());
            });

            // _localPlayer = CharacterFactory.GetLocalPlayerCharacter();
        }
Пример #13
0
        /// <summary>
        /// Construcción de los personajes mediante interacción por
        /// la terminal.
        ///
        /// La función termina cuando la entrada de usuario es vacía.
        /// </summary>
        protected virtual void BuildCharacters()
        {
            Character Nico  = new Elf("Nico");
            Character Mateo = new Dwarve("Mateo");
            Character Diego = new Wizard("Diego");
            Character Anto  = new Troll("Anto");

            List <Character> listaCaracteres = new List <Character>();

            listaCaracteres.Add(Nico);
            listaCaracteres.Add(Mateo);
            listaCaracteres.Add(Diego);
            listaCaracteres.Add(Anto);

            Array  cantidadItems = Enum.GetValues(typeof(ItemType));
            Random items         = new Random();

            foreach (Character personaje in listaCaracteres)
            {
                int      randomItem = items.Next(0, cantidadItems.Length);
                ItemType tipo       = this.ReadItemType();
                IItem    item       = ItemFactory.GetItem(tipo);
                personaje.AddItem(item);
                this.characters.Add(personaje);

                Console.WriteLine($"Built {personaje}");
            }



            CharacterType type = this.ReadCharacterType();

            while (type != default(CharacterType))
            {
                string name = this.ReadCharacterName();
                if (name == "")
                {
                    name = $"The {type}";
                }

                List <IItem> items = this.ReadCharacterItems();

                Character character = CharacterFactory.GetCharacter(type, name);
                character.AddItems(items);
                this.characters.Add(character);

                Console.WriteLine($"Built {character}");

                type = this.ReadCharacterType();
            }
        }
Пример #14
0
    public List <Character> Generate()
    {
        List <Character> charList = new List <Character>();

        SetSpawnValues();

        float spawnRadius = _spawnRadius * _spawnAmount;
        int   angle       = GetStartAngle();

        CharacterFactory charFactory = new CharacterFactory();
        CharacterInfo    charInfo    = new CharacterInfo();

        // 캐릭터 생성 시 일정한 간격으로 배치하기 위하여 360도를 생성 수로 나눈 중심각을 계산하고
        // 중심각에 따라 만들어지는 호 들의 끝 좌표 마다 캐릭터를 배치
        for (int i = 0; i < _spawnAmount; ++i)
        {
            float x = spawnRadius * Mathf.Cos(Mathf.PI * angle / -180);
            float z = spawnRadius * Mathf.Sin(Mathf.PI * angle / -180);

            Vector3 spawnPos = _axis + Vector3.forward * z + Vector3.right * x;

            // 캐릭터 정보 설정
            SetCharInfo(charInfo);

            // 설정된 정보에 따라 객체 생성
            charInfo.charAI     = charFactory.GetCharacterAI(charInfo.charType);
            charInfo.charAttack = charFactory.GetCharacterAttack(charInfo.attackIDs);

            // 하단 UI 생성
            PutCharUI(charInfo);

            GameObject clone = Instantiate(_charPrefab, spawnPos, Quaternion.identity);
            clone.transform.parent = tr;

            string prefabStr = InfoManager.Instance.modelDic[charInfo.modelID].prefabName;

            Instantiate(
                ResourceManager.Instance.GetPrefab(ResourceManager.PrefabType.Models, prefabStr)
                , clone.transform);

            // 설정된 정보에 따라 캐릭터 스탯 전달
            Character character = clone.GetComponent <Character>();
            character.BuildCharSetting(charInfo);
            character.tr.Rotate(Vector3.one + Vector3.up * _defaultRotation);
            charList.Add(character);

            angle += 360 / _spawnAmount;
        }

        return(charList);
    }
Пример #15
0
    public string JoinParty(string[] args)
    {
        var faction       = args[0];
        var characterType = args[1];
        var name          = args[2];

        var     characterFactory  = new CharacterFactory();
        Faction factionValidation = FactionValidation(faction);
        var     character         = characterFactory.ProduceCharacter(factionValidation, characterType, name);

        Party.Add(character);

        return(string.Format(Constants.SuccessfulJoinedPartyMessage, name));
    }
        public IActionResult Preview()
        {
            var seed = Environment.TickCount;

            var random  = new Random(seed);
            var factory = new CharacterFactory(random);
            var c       = new CharacterViewModel
            {
                Characters = new[] { factory.Default(), factory.Default(), factory.Default(), factory.Default() },
                Seed       = seed
            };

            return(View("Preview", c));
        }
Пример #17
0
        static void Main(string[] args)
        {
            /*
             **PAVELDEJIMAS * *
             * -Sukurkite klasę Humanoid,
             * -iš Human perkelkite properčius FirstName, LastName, FullName, NameChanges
             * -Human paveldi iš Humanoid
             * - !isitikinkite, kad Human vis dar turi FullName
             */
            var human = new Human(1, "Vardenis", "Pavardenis", EHumanoidGender.MALE);

            Console.WriteLine($"{human.FullName} is {human.RaceDiscriminator}");

            /*
             * Skurkite statinę klasę RaceClassificators su const fieldais (string):
             * HUMAN, SKRULL, KREE, CHITAURI, LIZARD, ARTIFICIAL, OLDONE, WATCHER
             */

            var kree1 = new Kree(1, "Elleanor", "Park", EHumanoidGender.FEMALE);

            Console.WriteLine($"{kree1.FullName} is {kree1.RaceDiscriminator}");

            /*
            ** UŽDUOTIS 1 **
            ** - Sukurkite klasę Zmogus : Vardas, Pavarde, metodas Info (atspausdina informaciją apie žmogų vienoje eilutėje).
            ** - Sukurkite klasę Pilietis, kuri paveldi iš klasės Zmogus , ir savyje turi AsmensKodas, Pilietybe
            ** - Sukurkite klasę Gyventojas, kuri turi GyvenamojiVieta
            ** Kiekvienos klasės konstruktorius inicializuoja duomenis.
            ** UŽDUOTIS 2 **
            ** Pilietis klasėje perrašykite metodą Info.
            ** - Jo viduje iškvieskite tėvinės klasės metodą ir papildomai atspausdinkite Pilietis klasės informaciją.
            ** Gyventojas klasėje perrašykite metodą Info .
            ** - Jo viduje iškvieskite tėvinės klasės metodą ir papildomai atspausdinkite Gyventojas  klasės informaciją.
            ** Main metode sukurkite Zmogus , Pilietis, Gyventojas objektus ir kiekvienam iškvieskite į ekraną metodo Info grąžinamus duomenis
            */

            CharacterFactory factory = new CharacterFactory();
            var allCharacters        = factory.BuildAll();

            foreach (var person in allCharacters)
            {
                Console.WriteLine($"{person.FullName} is a {person.RaceDiscriminator} {person.Gender} {person.GetType()}");
            }



            Console.WriteLine();
            Console.WriteLine("-End of program. Press any key-");
            Console.ReadKey();
        }
Пример #18
0
        public void ReinstateDynamicObjects(XElement serializedData)
        {
            WireUpCallElementFactoryCallbacks();

            BlockFactory.ReinstateSerializedBlocks(GetSerializedFactoryData(serializedData, BlockFactory.Serialized_Data_Identifier));
            CollectableFactory.ReinstateSerializedCollectables(GetSerializedFactoryData(serializedData, CollectableFactory.Serialized_Data_Identifier));
            FlagFactory.ReinstateSerializedFlags(GetSerializedFactoryData(serializedData, FlagFactory.Serialized_Data_Identifier));
            SignpostFactory.ReinstateSerializedSignposts(GetSerializedFactoryData(serializedData, SignpostFactory.Signpost_Serialized_Data_Identifier));
            SignpostFactory.ReinstateSerializedRouteMarkers(GetSerializedFactoryData(serializedData, SignpostFactory.Route_Marker_Serialized_Data_Identifier));

            _registerGameObject(new Background());

            Player = CharacterFactory.ReinstatePlayer();
        }
Пример #19
0
        public string JoinParty(string[] args)
        {
            var factionName   = args[0];
            var characterType = args[1];
            var name          = args.Skip(2).ToArray()[0];

            var faction = Validator.ValidateFaction(factionName);

            var character = CharacterFactory.CraetCharacter(characterType, name, faction);

            this.party.Add(character);

            return($"{name} joined the party!");
        }
Пример #20
0
        public void PlayerMovesFromZeroPosition()
        {
            _localPlayer.Value.Position = new Point(0, 0);

            var keyCode = 68;

            PlayerInput.ProcessPlayerKeyboardInput(keyCode, true);

            HeartBeat.PhysicsLoop();

            HeartBeat.PhysicsLoop();

            CharacterFactory.GetLocalPlayerCharacter().Destination.X.Should().Be(2);
        }
    // Start is called before the first frame update
    void Start()
    {
        // Factory
        CardFactory      cardFactory      = new CardFactory();
        CharacterFactory characterFactory = new CharacterFactory(cardFactory);

        // Cache
        PlayerCache     playerCache     = new PlayerCache();
        CacheCollection cacheCollection = new CacheCollection(playerCache);

        playerCache.ActiveCharacter = characterFactory.GetCharacter(CharacterType.Warrior);

        cardList.Setup(playerCache.ActiveCharacter.Type);
    }
Пример #22
0
        public void KeepingAPressedContinuesMovingPlayerLeft()
        {
            _localPlayer.Value.Position = new Point(5, 0);

            var keyCode = 65;

            PlayerInput.ProcessPlayerKeyboardInput(keyCode, true);

            HeartBeat.PhysicsLoop();

            HeartBeat.PhysicsLoop();

            CharacterFactory.GetLocalPlayerCharacter().Destination.X.Should().Be(3);
        }
Пример #23
0
        public void PlayerFacesMouseCursorBottomRight()
        {
            var expectedX = TestScreenWidth / TestTileWidth;
            var expectedY = 0;

            _localPlayer.Value.Position     = new Point(10, 10);
            _localPlayer.Value.LookTarget.X = -1;
            _localPlayer.Value.LookTarget.Y = -1;

            PlayerInput.ProcessPlayerMouseMovement(TestScreenWidth, TestScreenHeight);

            CharacterFactory.GetLocalPlayerCharacter().LookTarget.X.Should().Be(expectedX);
            CharacterFactory.GetLocalPlayerCharacter().LookTarget.Y.Should().Be(expectedY);
        }
Пример #24
0
        public string JoinParty(string[] args)
        {
            var faction       = args[0];
            var characterType = args[1];
            var name          = args[2];

            var characterFactory = new CharacterFactory();

            var character = characterFactory.CreateCharacter(faction, characterType, name);

            characterParty.Add(character);

            return($"{name} joined the party!");
        }
Пример #25
0
        public override void SetupView()
        {
            if (SaveButton != null)
            {
                SaveButton.onClick.AddListener(OnSaveClick);
            }
            if (CharacterLeftPoint != null)
            {
                CharacterLeftPoint.text = CharacterLeftPointValue.ToString();
            }
            if (CharacterName != null)
            {
                CharacterName.onEndEdit.AddListener(EditName);
            }
            if (ClassListDropdown != null)
            {
                _characterClasses = CharacterFactory.PlayerClassList();

                ClassListDropdown.options = _characterClasses.Select(p => new Dropdown.OptionData(name = p.Value))
                                            .ToList();
                ;
                ClassListDropdown.onValueChanged.AddListener(OnClassSelect);
                OnClassSelect(ClassListDropdown.value);
            }
            if (StrengthSlider != null)
            {
                StrengthSlider.onValueChanged.AddListener(StrengthChanged);
            }
            if (AgilitySlider != null)
            {
                AgilitySlider.onValueChanged.AddListener(AgilityChanged);
            }
            if (InteligenceSlider != null)
            {
                InteligenceSlider.onValueChanged.AddListener(InteligenceChanged);
            }
            if (AgilityValue != null)
            {
                AgilityValue.text = Statistic.Agility.ToString();
            }
            if (StrengthValue != null)
            {
                StrengthValue.text = Statistic.Strength.ToString();
            }
            if (InteligenceValue != null)
            {
                InteligenceValue.text = Statistic.Inteligence.ToString();
            }
        }
Пример #26
0
    //监听器
    private void setBtnTile(int x, int y)
    {
        //判断是不是重复点击
        if (isDoubleClick)
        {
            return;
        }

        //先判断是不是第二次点击,在next为空的时候再一次点击该按钮,如果是则删掉该位置的单位
        if (this.nextCharacter[0] == -1 && location[x, y] != 0)
        {
            resetImage(x, y);
            _cost         += CharacterFactory.CreateCharacter(location[x, y])._cost;
            location[x, y] = 0;
            level[x, y]    = 0;

            //记录当前时间
            nowTime       = DateTime.Now;
            isDoubleClick = true;
        }

        if (this.nextCharacter[0] != -1)
        {
            //调整cost
            int cost = CharacterFactory.CreateCharacter(nextCharacter[0])._cost;
            if (cost > _cost)
            {
                UnityEditor.EditorUtility.DisplayDialog("无法加入", "cost不足", "确认");
                return;
            }
            _cost -= cost;

            //在对应位置放入单位和等级
            location[x, y] = nextCharacter[0];
            level[x, y]    = nextCharacter[1];

            //记录图标
            setImage(location[x, y], x, y);

            //清除状态
            nextCharacter[0] = -1;
            nextCharacter[1] = -1;
            resetAllColor();

            //记录当前时间
            nowTime       = DateTime.Now;
            isDoubleClick = true;
        }
    }
Пример #27
0
        static void Main(string[] args)
        {
            var chars = "AB".ToCharArray();

            var characterFactory = new CharacterFactory();

            var pointSize = 10;

            foreach (var @char in chars)
            {
                var character = characterFactory.GetCharacter(@char);
                character.Display(pointSize);
                pointSize++;
            }
        }
Пример #28
0
    //need to store the character's current stats, in case we kick them from party
    //max 3 others - need a check for the dialog
    public void addCharacter(long characterIndex)
    {
        if (partyList.Count < 3)
        {
            if (gameDataSet.gameCharacterDataDictionary.ContainsKey(characterIndex))
            {
                var           charData     = gameDataSet.gameCharacterDataDictionary[characterIndex];
                GameCharacter newCharacter = CharacterFactory.getGameCharacterFromGameCharacterData(charData, gameDataSet);
                newCharacter.mergeInventory(playerGameCharacter.inventory);
                partyList.Add(newCharacter);

                Debug.Log("Added character" + newCharacter.name);
            }
        }
    }
        public IActionResult Print(int?seed)
        {
            if (!seed.HasValue)
            {
                seed = Environment.TickCount;
            }

            var random = new Random(seed.Value);

            var factory    = new CharacterFactory(random);
            var characters = new[] { factory.Default(), factory.Default(), factory.Default(), factory.Default() };
            var stream     = PdfCreator.ErzeugeNullerBogen(characters);

            return(File(stream, "application/pdf", $"Charakterbogen_Nullen_{seed}.pdf"));
        }
Пример #30
0
    public static GameEntity CreateCharacterView(Contexts context, Vector2 pos)
    {
        var characterFactory = new CharacterFactory(context.game);

        var assetsSystem = new AssetsSystem(context);

        var entity = characterFactory.Create(pos);

        Assert.IsTrue(entity.hasAsset);
        Assert.IsFalse(entity.hasViewController);

        assetsSystem.Execute();

        return(entity);
    }
Пример #31
0
        private object MakeProjectile(dynamic parameters)
        {
            var sessionId = Request.Form.SessionId;

            if (!CharacterFactory.PlayerExists(sessionId))
            {
                return("Invalid session id.");
            }

            var sessionCharacter = CharacterFactory.GetPlayerCharacter(sessionId);

            var projectileId = CharacterFactory.CreateProjectile(sessionCharacter, 3);

            return(projectileId.ToString());
        }
Пример #32
0
 public void createCharacterFactoryTest()
 {
     CharacterFactory characterFactory = new CharacterFactory();
     Assert.IsNotNull(characterFactory);
 }
 public CharacterStore(CharacterFactory f)
 {
     theFactory = f;
 }
Пример #34
0
  public static void Main( string[] args )
  {
    // Build a document with text
    char[] document = {'A','B','Z','Z','A','A'};

    CharacterFactory f = new CharacterFactory();

    // extrinsic state
    int pointSize = 12;

    // For each character use a flyweight object
    foreach( char c in document )
    {
      Character character = f.GetCharacter( c );
      character.Draw( pointSize );
    }
  }
 public Character GetCharacter(CharacterFactory.charactertype type)
 {
     Character character = theFactory.CreateCharacter(type);
     return character;
 }
Пример #36
0
    // Entry point into console application.
    static void Main()
    {
        // Build a document with text
        string document = "ADAZZBBZBR";
        char[] chars = document.ToCharArray();

        factory = new CharacterFactory();

        // Extrinsic state
        int point_size = 10;

        // For each character use a flyweight object
        foreach (char c in chars)
        {
            character = factory.GetCharacter(c);

            if (character != null)
                character.Display(++point_size);
        }

        // Wait for user
        Console.ReadKey();
    }