Exemple #1
0
        public void CreateBotModel(PlayerCore playerCore, Transform prefab, Transform containerStones)
        {
            var model   = CreateModel(playerCore, prefab);
            var modelAi = (PlayerModelBot)model;

            modelAi.Initialization(rand, mapCore.MaxDistance, containerStones);
        }
 public void Initilization(
     Func <Vector3, string, Vector3?> find,
     Action <Vector2> activate,
     PlayerCore core)
 {
     FindClosestPlayerPosition = find;
     Activate  = activate;
     this.core = core;
 }
Exemple #3
0
        public void CreateHeroModel(PlayerCore playerCore, Transform prefab, Action <PlayerModelHero, Func <Vector2> > subscribeGuiOnEvents)
        {
            var model       = CreateModel(playerCore, prefab);
            var playerModel = (PlayerModelHero)model;

            playerModel.InitializationByMap(mapCore.Width, mapCore.Height);
            subscribeGuiOnEvents(playerModel, mapCore.GetRandomPosition);
            if (serverNotify != null)
            {
                model.GetComponent <SpriteRenderer>().material.color = Color.red;
            }
        }
Exemple #4
0
 public void Initialization(PlayerCore core, IServerNotify serverNotify,
                            Func <Vector3, string, Vector3?> findClosestPlayer, PlayerPool pool,
                            Func <Vector2> getRandomPosition,
                            Transform imageDeath, LevelMode levelMode, Func <string, PlayerCore> getPlayerById)
 {
     this.serverNotify = serverNotify;
     this.pool         = pool;
     GetRandomPosition = getRandomPosition;
     GetPlayerById     = getPlayerById;
     if (serverNotify != null)
     {
         multiplayer = true;
     }
     Core            = core;
     playerAnimation = new PlayerAnimation(GetComponent <Animator>(), imageDeath);
     this.levelMode  = levelMode;
     weaponActionController.Initilization(findClosestPlayer, ActivateWeapon, core);
 }
Exemple #5
0
        private PlayerModelBase CreateModel(PlayerCore playerCore, Component prefab)
        {
            var model = prefab.GetComponent <PlayerModelBase>();

            //todo FindClosestPlayer  only for offline mode
            model.Initialization(
                playerCore,
                serverNotify,
                FindClosestPlayerPosition,
                pool, mapCore.GetRandomPosition,
                imagesDeath.New().transform,
                levelMode,
                GetById);
            pool.Add(playerCore.Id, model);
            model.RespawnInstantly(mapCore.RandomPosition);
            model.name = playerCore.Name;
            model.transform.GetChild(0).GetComponent <TextMesh>().text = playerCore.Name;
            return(model);
        }
Exemple #6
0
 public void CreateServerModel(PlayerCore playerCore, Transform prefab)
 {
     CreateModel(playerCore, prefab);
 }