Ejemplo n.º 1
0
        public PlayerPres(IPlayerView view) : base(ENTITY_TYPE.PLAYER)
        {
            _character           = CharacterModel.Create(Type, Id);
            _character.MoveSpeed = 100;

            var collState          = InteractStateModel.Create(Type, Id);
            var interactController = new InteractController(collState.obj);

            _view = view;
            _view.interactController = interactController;
            _character.Position      = _view.Position;
            _view.Subscribe(OnViewChanged);

            _animState      = AnimStateModel.Create(Type, Id);
            _animController = _view.CreateAnimController(_animState.obj);

            AddAnimation(Const.ANIMATION.IDLE, "Standing Idle");
            AddAnimation(Const.ANIMATION.WALK_FW, "Standing Walk Forward");
            AddAnimation(Const.ANIMATION.WALK_BW, "Standing Walk Back");
            AddAnimation(Const.ANIMATION.WALK_LEFT, "Standing Walk Left");
            AddAnimation(Const.ANIMATION.WALK_RIGHT, "Standing Walk Right");
            AddAnimation(Const.ANIMATION.RUN_FW, "Standing Run Forward");
            AddAnimation(Const.ANIMATION.RUN_BW, "Standing Run Back");
            AddAnimation(Const.ANIMATION.RUN_LEFT, "Standing Run Left");
            AddAnimation(Const.ANIMATION.RUN_RIGHT, "Standing Run Right");
            AddAnimation(Const.ANIMATION.ATTACK_FIREBALL_BIG, "Standing 1H Magic Attack 01");
            AddAnimation(Const.ANIMATION.ATTACK_FIREBALL_SMALL, "Standing 2H Magic Attack 01");
            AddAnimation(Const.ANIMATION.ATTACK_SPELL_GROUND, "Standing 2H Cast Spell 01");

            _fsm = new PlayerFSM(this, _animState.obj, _character.obj);
        }
Ejemplo n.º 2
0
    public void Interact(InteractController controller)
    {
        GameObject interactingPlayer = controller.gameObject;

        if (!blockTalk && interactedPlayer != interactingPlayer)
        {
            if (interactedPlayer)
            {
                blockTalk = true;
            }
            else
            {
                interactedPlayer = interactingPlayer;
            }
            playerPosition  = interactingPlayer.GetComponent <RectTransform>();
            initialPosition = playerPosition.position;
            if (!talkInProgress)
            {
                coroutine = StartCoroutine(Talk());
            }
        }

        else
        {
            feedbackText = Instantiate(feedbackTextPrefab, feedbackContainer.transform);
            feedbackText.GetComponent <Text>().text = "No, man! No! She already knows you!";
            Destroy(feedbackText, 5.0f);
        }
    }
Ejemplo n.º 3
0
 // Start is called before the first frame update
 public void Interact(InteractController controller)
 {
     if (Buy(controller.GetComponent <MoneyController>()))
     {
         Pickup(controller.GetComponent <GearController>());
     }
 }
Ejemplo n.º 4
0
    public void Interact(InteractController controller)
    {
        Task task = taskManager.TaskExists(GameManager.TaskType.DOCUMENTS);

        if (task)
        {
            playerPosition  = controller.gameObject.GetComponent <RectTransform>();
            initialPosition = playerPosition.position;
            if (!forgeInProgress)
            {
                coroutine = StartCoroutine(Forge(task));
            }
        }

        else
        {
            if (done)
            {
                feedbackText = Instantiate(feedbackTextPrefab, feedbackContainer.transform);
                feedbackText.GetComponent <Text>().text = "Dude, are you high?! You have already done that task!";
                Destroy(feedbackText, 5.0f);
            }
            feedbackText = Instantiate(feedbackTextPrefab, feedbackContainer.transform);
            feedbackText.GetComponent <Text>().text = "Not now man! Now is not the time for that!";
            Destroy(feedbackText, 5.0f);
        }
    }
Ejemplo n.º 5
0
    public void Interact(InteractController controller)
    {
        Inventory inventory = controller.GetComponent <Inventory>();

        if (IsPlaceboEquipped(inventory))
        {
            Task task = taskManager.TaskExists(GameManager.TaskType.VAX);
            if (!task)
            {
                feedbackText = Instantiate(feedbackTextPrefab, feedbackContainer.transform);
                feedbackText.GetComponent <Text>().text = "Not now man! Now is not the time for that!";
                Destroy(feedbackText, 5.0f);
            }
            else
            {
                feedbackText = Instantiate(feedbackTextPrefab, feedbackContainer.transform);
                feedbackText.GetComponent <Text>().text = "Vax switched";
                Destroy(feedbackText, 5.0f);
                inventory.Remove(placebo);
                feedbackText = Instantiate(feedbackTextPrefab, feedbackContainer.transform);
                feedbackText.GetComponent <Text>().text = "Nice!";
                Destroy(feedbackText, 5.0f);
                task.Accomplish();
            }
        }
    }
        private void RefreshWeaponAppearance(EWeaponSlotType slot = EWeaponSlotType.Pointer)
        {
            if (slot == EWeaponSlotType.Pointer)
            {
                slot = HeldSlotType;
            }
            var weaponAgent = GetWeaponAgent(slot);

            if (weaponAgent.IsValid())
            {
                WeaponPartsRefreshStruct refreshParams = new WeaponPartsRefreshStruct();
                refreshParams.slot       = slot;
                refreshParams.weaponInfo = weaponAgent.ComponentScan;
                // refreshParams.oldParts = new WeaponPartsStruct();
                refreshParams.newParts     = weaponAgent.PartsScan;
                refreshParams.armInPackage = true;
                RefreshWeaponModelAndParts(refreshParams);
            }
            else
            {
                //不移除C4 RelatedAppearence.RemoveC4();
                WeaponInPackage pos = slot.ToWeaponInPackage();
                RelatedAppearence.UnmountWeaponInPackage(pos);
                InteractController.InterruptCharactor();
            }
        }
Ejemplo n.º 7
0
    public void Interact(InteractController interactController)
    {
        MoneyController moneyController = interactController.gameObject.GetComponent <MoneyController>();

        if (keyRequirement)
        {
            if (moneyController.HasKey())
            {
                moneyController.SetKey(false);
                open = true;
                GetComponent <AudioSource>().Play();
                if (newEnemySpawnGroup != null)
                {
                    GameObject.Find("WaveManager").GetComponent <WaveManager>().AddSpawns(newEnemySpawnGroup);
                }
            }
        }
        else if (moneyCost <= moneyController.GetMoney())
        {
            moneyController.DeductMoney(moneyCost);
            open = true;
            GetComponent <AudioSource>().Play();
            if (newEnemySpawnGroup != null)
            {
                GameObject.Find("WaveManager").GetComponent <WaveManager>().AddSpawns(newEnemySpawnGroup);
            }
        }
    }
Ejemplo n.º 8
0
 void Start()
 {
     _status  = HingeStatus.unpicked;
     interact = gameObject.GetComponentInParent <HingeController>().Interact.GetComponent <InteractController>();
     interact.HideArea();
     this.gameObject.AddComponent <BoxCollider>();
 }
Ejemplo n.º 9
0
 public void Interact(InteractController controller)
 {
     cameraController.ChangeSpecialLook(specialCamera.transform);
     cameraController.customizationMenu.SetActive(true);
     gameManager.TakeAwayControl();
     currentHat = 0;
 }
Ejemplo n.º 10
0
 public void Interact(InteractController controller)
 {
     if (Buy(controller.GetComponent <MoneyController>()))
     {
         Destroy(this.gameObject);
     }
 }
Ejemplo n.º 11
0
 // Use this for initialization
 void Start()
 {
     OwnController       = gameObject.GetComponentInParent <SFController>();
     BodyCollisions      = new List <Collider2D>();
     _interactAreaRadius = SFConfig._InteractAreaRadius;
     interactController  = gameObject.GetComponentInParent <InteractController>();
     interactController.InteractRadius = _interactAreaRadius;
 }
Ejemplo n.º 12
0
 // Use this for initialization
 void Start()
 {
     OwnController       = gameObject.GetComponentInParent <HingeController>();
     BodyCollisions      = new List <Collider2D>();
     _addHealthBySecond  = HingeConfig._AddHealthBySecond;
     _interactAreaRadius = ReserveConfig._InteractAreaRadius;
     interactController  = gameObject.GetComponentInParent <InteractController>();
     interactController.InteractRadius = _interactAreaRadius;
 }
Ejemplo n.º 13
0
 // Use this for initialization
 void Start()
 {
     OwnController       = gameObject.GetComponentInParent <ReserveController>();
     BodyCollisions      = new List <Collider2D>();
     _addEnergyByCycle   = ReserveConfig._AddEnergyByCycle;
     _cycle              = ReserveConfig._AddEnergyCycle;
     _interactAreaRadius = ReserveConfig._InteractAreaRadius;
     interactController  = gameObject.GetComponentInParent <InteractController>();
     interactController.InteractRadius = _interactAreaRadius;
 }
Ejemplo n.º 14
0
    public void createDialogue(string[] texts, InteractController ic)
    {
        GameObject.Find("Player").GetComponent <Player> ().canMove = false;
        GameObject go = GameObject.Instantiate(dialogueBox);

        go.transform.SetParent(GameObject.Find("Canvas").transform);
        go.GetComponent <RectTransform> ().localPosition = new Vector3(0f, -200, 0);
        go.GetComponent <DialogueController> ().texts    = texts;
        go.GetComponent <DialogueController> ().ic       = ic;
    }
Ejemplo n.º 15
0
        private void DoDrawEmptyWeaponInPackage(EWeaponSlotType slotType, bool interrupt)
        {
            WeaponInPackage pos = slotType.ToWeaponInPackage();

            RelatedAppearence.UnmountWeaponInPackage(pos);
            if (interrupt)
            {
                InteractController.InterruptCharactor();
            }
        }
 void Awake()
 {
     if (Instance != null && Instance != this)
     {
         Destroy(gameObject);
         return;
     }
     Instance = this;
     Init();
     DontDestroyOnLoad(this);
 }
Ejemplo n.º 17
0
 private void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
     else if (instance != this)
     {
         Destroy(gameObject);
     }
 }
Ejemplo n.º 18
0
 // Use this for initialization
 void Start()
 {
     Bullet              = Resources.Load <GameObject>("Prefabs/Bullet");
     OwnController       = gameObject.GetComponentInParent <PlayerController>();
     _firingRate         = PlayerConfig._FiringRate;
     _damage             = PlayerConfig._Damage;
     _bulletSpeed        = PlayerConfig._BulletSpeed;
     _interactAreaRadius = PlayerConfig._InteractAreaRadius;
     interactController  = gameObject.GetComponentInParent <InteractController>();
     interactController.InteractRadius = _interactAreaRadius;
 }
Ejemplo n.º 19
0
 // Use this for initialization
 void Start()
 {
     Bullet              = Resources.Load <GameObject>("Prefabs/Bullet");
     OwnController       = gameObject.GetComponentInParent <TurretController>();
     _firingRate         = TurretConfig._FiringRate;
     _damage             = TurretConfig._Damage;
     _bulletSpeed        = TurretConfig._BulletSpeed;
     _interactAreaRadius = TurretConfig._InteractAreaRadius;
     interactController  = gameObject.GetComponentInParent <InteractController>();
     interactController.InteractRadius = _interactAreaRadius;
     Targets = new List <Collider2D>();
 }
Ejemplo n.º 20
0
    public override void PrimaryDown()
    {
        Ray ray = Camera.main.ViewportPointToRay(new Vector3(0.5f, 0.5f, 0f));

        if (Physics.Raycast(ray, out RaycastHit hit, 10, InteractController.LayerMask))
        {
            if (hit.transform.IsChildOf(boxLock.transform) && hit.distance <= boxLock.activationRange && electricBox.isLocked())
            {
                electricBox.Unlock();
                InteractController.Instance().DeleteItem();
            }
        }
    }
Ejemplo n.º 21
0
 private void Awake()
 {
     mapContainer.sizeX            = mapContainer.sizeY = 0;
     playerController              = GameObject.FindObjectOfType <PlayerController>();
     playerController.mapContainer = mapContainer;
     enemyController = GameObject.FindObjectOfType <EnemyController>();
     enemyController.mapContainer    = mapContainer;
     interactController              = GameObject.FindObjectOfType <InteractController>();
     interactController.mapContainer = mapContainer;
     mapContainer.interactController = interactController;
     IndexTilemap();
     SpawnPlayers();
 }
Ejemplo n.º 22
0
        public FreezerPres(IFreezerView view) : base(ENTITY_TYPE.PLAYER)
        {
            _character          = CharacterModel.Create(Type, Id);
            _character.Position = view.Position;

            var interactModel      = InteractStateModel.Create(Type, Id);
            var interactController = new InteractController(interactModel.obj);

            _interactSystem = new InteractSystem(this, interactModel.obj);

            _view = view;
            _view.interactController = interactController;
        }
Ejemplo n.º 23
0
    public override void PrimaryDown()
    {
        Ray ray = Camera.main.ViewportPointToRay(new Vector3(0.5f, 0.5f, 0f));

        if (Physics.Raycast(ray, out RaycastHit hit, 10, InteractController.LayerMask))
        {
            if (hit.transform.IsChildOf(allenKeySlot.transform) && hit.distance <= allenKeySlot.activationRange && !waterControlCabinet.isOn())
            {
                waterControlCabinet.TurnOn();
                InteractController.Instance().DeleteItem();
            }
        }
    }
Ejemplo n.º 24
0
    public override void PrimaryDown()
    {
        Ray ray = Camera.main.ViewportPointToRay(new Vector3(0.5f, 0.5f, 0f));

        if (Physics.Raycast(ray, out RaycastHit hit, 10, InteractController.LayerMask))
        {
            Ladder ladder = hit.transform.GetComponentInParent <Ladder>();
            if (ladder && hit.distance <= ladder.activationRange)
            {
                ladder.AddRungs();
                InteractController.Instance().DeleteItem();
            }
        }
    }
Ejemplo n.º 25
0
 public void Interact(InteractController interactController)
 {
     if (started)
     {
         waveManager.GetComponent <WaveManager>().Restart();
         started = false;
     }
     else
     {
         waveManager.GetComponent <WaveManager>().StartFirstWave();
         started = true;
     }
     interactController.RefreshText(gameObject);
 }
Ejemplo n.º 26
0
    public void Interact(InteractController controller)
    {
        ChildHandler childHandler = controller.GetComponentInChildren <ChildHandler>();

        if (childHandler.isEquipped)
        {
            Task task = TaskManager.instance.TaskExists(GameManager.TaskType.BABYSTEAL);
            if (task)
            {
                Debug.Log("Kid has been napped");
                childHandler.Destroy();
                task.Accomplish();
            }
        }
    }
Ejemplo n.º 27
0
    public void Interact(InteractController controller)
    {
        Inventory inventory = controller.GetComponent <Inventory>();

        if (IsPlaceboEquipped(inventory))
        {
            Debug.Log("Vax switched");
            inventory.Remove(placebo);
            Task task = taskManager.TaskExists(GameManager.TaskType.VAX);
            if (task)
            {
                Debug.Log("Nice!");
                task.Accomplish();
            }
        }
    }
Ejemplo n.º 28
0
    public void Interact(InteractController controller)
    {
        ChildHandler childHandler = controller.GetComponentInChildren <ChildHandler>();

        ChildHandler currentHandler = GetComponentInParent <ChildHandler>();

        playerController = controller.GetComponent <PlayerController>();
        if (currentHandler && currentHandler.isEquipped && currentHandler != childHandler)
        {
            currentHandler.Remove();
        }

        if (childHandler.isEquipped)
        {
            childHandler.Remove();
            return;
        }

        childHandler.Equip(this);
    }
Ejemplo n.º 29
0
    public void Interact(InteractController controller)
    {
        if (isClosed)
        {
            player = controller.transform;

            if (isLocked)
            {
                Inventory inventory = player.GetComponent <Inventory>();
                if (!inventory.Contains(key))
                {
                    Debug.Log("No key");
                    return;
                }

                inventory.Remove(key);
                isLocked = false;
            }
            isClosed = false;
        }
    }
Ejemplo n.º 30
0
    public void Interact(InteractController controller)
    {
        GameObject interactingPlayer = controller.gameObject;

        if (!blockTalk && interactedPlayer != interactingPlayer)
        {
            if (interactedPlayer)
            {
                blockTalk = true;
            }
            playerPosition  = interactingPlayer.GetComponent <RectTransform>();
            initialPosition = playerPosition.position;
            if (!talkInProgress)
            {
                coroutine = StartCoroutine(Talk());
            }
        }

        else
        {
            Debug.Log("No, man! No! She already knows you!");
        }
    }