Esempio n. 1
0
    public void BuildMyViewsFromCharacterPresetData(CharacterPresetData data)
    {
        // Set data
        SetMyCharacterData(data);

        // Set name text
        SetPresetName(data.characterName);

        // Set background texts
        MainMenuManager.Instance.BuildBackgroundTextsFromCharacterPresetData(this, data);

        // Build model
        CharacterModelController.BuildModelFromCharacterPresetData(myModel, data);

        // Set Scaling on model
        //CharacterModelController.AutoSetModelScaleFromRace(myModel);

        // Modify abilities/passives on panel
        MainMenuManager.Instance.BuildCharacterAbilityTabsFromPresetData(this, data);

        // modify attribute texts
        MainMenuManager.Instance.BuildTalentTextsFromCharacterPresetData(this, data);

        // Set Description text
        MainMenuManager.Instance.BuildDescriptionTextCharacterPresetData(this, data);

        // Build Race Tab
        MainMenuManager.Instance.BuildRaceTabFromCharacterPresetData(this, data.modelRace);

        // Build Racial Ability + Passive tabs
        MainMenuManager.Instance.BuildRacialAbilityAndPassiveTabsFromPresetData(this, data);
    }
    public IEnumerator IEInitRoleModelToRolePosPlace()
    {
        yield return(new WaitForSeconds(0.05f));

        for (int i = 0; i < teamNumbers.Count; i++)
        {
            Debug.Log("载入模型对应hashcode:" + teamNumbers[i].hashCode + "_" + i);
            int       pos = teamNumbers[i].teamPos;
            Transform s   = Instantiate(RoleModel) as Transform;
            CharacterModelController CMC
                = s.GetComponentInChildren <CharacterModelController>();

            CMC.initHeroCharacterModel(teamNumbers[i].hashCode, SDConstants.HERO_MODEL_RATIO);
            Vector2 aim = AllEnablePosPlace[pos].position;
            s.position = aim;
            s.SetParent(RoleGroup);
            s.localScale = Vector3.zero;
            s.gameObject.SetActive(true);
            //显示对应模型
            s.SetSiblingIndex(i);
            s.DOScale(Vector3.one, initDelay).SetEase(Ease.OutBack);
            yield return(new WaitForSeconds(initDelay));
        }
        //STUP.usingIEcannotTap = false;
    }
Esempio n. 3
0
 public void RebuildAllModels()
 {
     foreach (StoryWindowCharacterSlot character in allCharacterSlots)
     {
         CharacterModelController.BuildModelFromModelClone(character.myModel, character.myCharacterData.myCharacterModel);
     }
 }
Esempio n. 4
0
 public void RebuildAllModels()
 {
     foreach (TreasureRoomCharacter character in allCharacterSlots)
     {
         CharacterModelController.BuildModelFromModelClone(character.myModel, character.myCharacterData.myCharacterModel);
     }
 }
Esempio n. 5
0
    public void RolePlayJumpAnim(BattleRoleData _unit)
    {
        CharacterModelController _cha = _unit.GetComponentInChildren <CharacterModelController>();

        if (IsWaitingPlayerAction && _cha != null)
        {
            CharacterModel cha = _cha.CurrentCharacterModel;
            if (cha && !cha._isDead)
            {
                StartCoroutine(IEJumpAnim(cha));
            }
        }
    }
Esempio n. 6
0
    public override void SetBaseProperties()
    {
        myName = "Skeleton Soldier";
        base.SetBaseProperties();

        CharacterModelController.SetUpAsSkeletonSoldierPreset(myModel);

        mySpellBook.EnemyLearnAbility("Strike");
        mySpellBook.EnemyLearnAbility("Move");

        myPassiveManager.ModifyUndead();

        myMainHandWeapon = ItemLibrary.Instance.GetItemByName("Simple Sword");
    }
Esempio n. 7
0
    public override void SetBaseProperties()
    {
        myName = "Toxic Zombie";
        base.SetBaseProperties();

        CharacterModelController.SetUpAsVolatileZombiePreset(myModel);

        mySpellBook.EnemyLearnAbility("Move");
        mySpellBook.EnemyLearnAbility("Strike");

        myPassiveManager.ModifyUnstable(5);

        myMainHandWeapon = ItemLibrary.Instance.GetItemByName("Simple Sword");
    }
Esempio n. 8
0
    public void RebuildAllModels()
    {
        List <VillageCharacter> allCharacterSlots = new List <VillageCharacter>
        {
            characterOne,
            characterTwo,
            characterThree,
            characterFour
        };

        foreach (VillageCharacter character in allCharacterSlots)
        {
            CharacterModelController.BuildModelFromModelClone(character.myModel, character.myCharacterData.myCharacterModel);
        }
    }
Esempio n. 9
0
    public override void SetBaseProperties()
    {
        myName = "Goblin Shooty";
        base.SetBaseProperties();

        CharacterModelController.SetUpAsGoblinShootyPreset(myModel);

        mySpellBook.EnemyLearnAbility("Move");
        mySpellBook.EnemyLearnAbility("Shoot");
        mySpellBook.EnemyLearnAbility("Pinning Shot");

        myPassiveManager.ModifyNimble(1);
        myPassiveManager.ModifyQuickDraw(1);

        myMainHandWeapon = ItemLibrary.Instance.GetItemByName("Simple Bow");
    }
Esempio n. 10
0
    public void OnNewGameLoaded()
    {
        Debug.Log("KingsBlessingManager.OnNewGameLoaded() called...");

        // Disable player's ability to click on encounter buttons and start new encounters
        WorldManager.Instance.canSelectNewEncounter = false;

        // Set up screen
        EnableView();
        PopulateChoiceDataList();
        CreateChoiceButtons();
        CharacterModelController.SetUpAsHumanKingPreset(kingModel);
        PlayIdleAnimOnAllModels();
        SetSpeechBubbleText("Choose my blessing...");
        FadeInSpeechBubble(1);
    }
Esempio n. 11
0
    public override void SetBaseProperties()
    {
        myName = "Skeleton Archer";
        base.SetBaseProperties();

        CharacterModelController.SetUpAsSkeletonArcherPreset(myModel);

        mySpellBook.EnemyLearnAbility("Move");
        mySpellBook.EnemyLearnAbility("Shoot");
        mySpellBook.EnemyLearnAbility("Impaling Bolt");
        mySpellBook.EnemyLearnAbility("Snipe");

        myPassiveManager.ModifyTrueSight(1);

        myMainHandWeapon = ItemLibrary.Instance.GetItemByName("Simple Bow");
    }
Esempio n. 12
0
    public override void SetBaseProperties()
    {
        myName = "Mork";
        base.SetBaseProperties();

        CharacterModelController.SetUpAsMorkPreset(myModel);

        mySpellBook.EnemyLearnAbility("Move");
        mySpellBook.EnemyLearnAbility("Strike");
        mySpellBook.EnemyLearnAbility("Smash");
        mySpellBook.EnemyLearnAbility("Whirlwind");

        myPassiveManager.ModifyGrowing(3);
        myPassiveManager.ModifyUnstoppable(1);
        myMainHandWeapon = ItemLibrary.Instance.GetItemByName("Simple Battle Axe");
    }
Esempio n. 13
0
    public override void SetBaseProperties()
    {
        myName = "Skeleton Barbarian";
        base.SetBaseProperties();


        CharacterModelController.SetUpAsSkeletonBarbarianPreset(myModel);

        mySpellBook.EnemyLearnAbility("Move");
        mySpellBook.EnemyLearnAbility("Strike");
        mySpellBook.EnemyLearnAbility("Charge");
        mySpellBook.EnemyLearnAbility("Whirlwind");

        myPassiveManager.ModifyEnrage(2);

        myMainHandWeapon = ItemLibrary.Instance.GetItemByName("Simple Battle Axe");
    }
Esempio n. 14
0
    public override void SetBaseProperties()
    {
        myName = "Poison Golem";
        base.SetBaseProperties();

        CharacterModelController.SetUpAsPoisonGolemPreset(myModel);

        mySpellBook.EnemyLearnAbility("Move");
        mySpellBook.EnemyLearnAbility("Strike");
        mySpellBook.EnemyLearnAbility("Noxious Fumes");
        mySpellBook.EnemyLearnAbility("Toxic Slash");
        mySpellBook.EnemyLearnAbility("Chemical Reaction");

        myPassiveManager.ModifyToxicAura(2);

        myMainHandWeapon = ItemLibrary.Instance.GetItemByName("Simple Staff");
    }
Esempio n. 15
0
    public override void SetBaseProperties()
    {
        myName = "Skeleton Assassin";
        base.SetBaseProperties();

        CharacterModelController.SetUpAsSkeletonAssassinPreset(myModel);

        mySpellBook.EnemyLearnAbility("Move");
        mySpellBook.EnemyLearnAbility("Twin Strike");
        mySpellBook.EnemyLearnAbility("Shank");
        mySpellBook.EnemyLearnAbility("Dash");

        myPassiveManager.ModifyStealth(1);

        myMainHandWeapon = ItemLibrary.Instance.GetItemByName("Simple Dagger");
        myOffHandWeapon  = ItemLibrary.Instance.GetItemByName("Simple Dagger");
    }
Esempio n. 16
0
    public override void SetBaseProperties()
    {
        myName = "Air Golem";
        base.SetBaseProperties();

        CharacterModelController.SetUpAsAirGolemPreset(myModel);

        mySpellBook.EnemyLearnAbility("Move");
        mySpellBook.EnemyLearnAbility("Strike");
        mySpellBook.EnemyLearnAbility("Lightning Bolt");
        mySpellBook.EnemyLearnAbility("Thunder Strike");
        mySpellBook.EnemyLearnAbility("Chain Lightning");

        myPassiveManager.ModifyStormAura(3);

        myMainHandWeapon = ItemLibrary.Instance.GetItemByName("Simple Staff");
    }
Esempio n. 17
0
    public override void SetBaseProperties()
    {
        myName = "Goblin Stabby";
        base.SetBaseProperties();

        CharacterModelController.SetUpAsGoblinStabbyPreset(myModel);

        mySpellBook.EnemyLearnAbility("Move");
        mySpellBook.EnemyLearnAbility("Twin Strike");
        mySpellBook.EnemyLearnAbility("Tendon Slash");

        myPassiveManager.ModifyNimble(1);
        myPassiveManager.ModifyPoisonous(1);

        myMainHandWeapon = ItemLibrary.Instance.GetItemByName("Simple Sword");
        myOffHandWeapon  = ItemLibrary.Instance.GetItemByName("Simple Sword");
    }
Esempio n. 18
0
    public override void SetBaseProperties()
    {
        myName = "Frost Golem";
        base.SetBaseProperties();

        CharacterModelController.SetUpAsFrostGolemPreset(myModel);

        mySpellBook.EnemyLearnAbility("Move");
        mySpellBook.EnemyLearnAbility("Strike");
        mySpellBook.EnemyLearnAbility("Frost Nova");
        mySpellBook.EnemyLearnAbility("Chilling Blow");
        mySpellBook.EnemyLearnAbility("Thaw");

        myPassiveManager.ModifyShatter(1);

        myMainHandWeapon = ItemLibrary.Instance.GetItemByName("Simple Staff");
    }
Esempio n. 19
0
    public override void SetBaseProperties()
    {
        myName = "Goblin War Chief";
        base.SetBaseProperties();

        CharacterModelController.SetUpAsGoblinWarChiefPreset(myModel);

        mySpellBook.EnemyLearnAbility("Invigorate");
        mySpellBook.EnemyLearnAbility("Goblin War Cry");
        mySpellBook.EnemyLearnAbility("Move");
        mySpellBook.EnemyLearnAbility("Strike");

        myPassiveManager.ModifyNimble(1);
        myPassiveManager.ModifyFury(1);

        myMainHandWeapon = ItemLibrary.Instance.GetItemByName("Simple Battle Axe");
    }
Esempio n. 20
0
    public override void SetBaseProperties()
    {
        myName = "Fire Golem";
        base.SetBaseProperties();

        CharacterModelController.SetUpAsFireGolemPreset(myModel);

        mySpellBook.EnemyLearnAbility("Move");
        mySpellBook.EnemyLearnAbility("Strike");
        mySpellBook.EnemyLearnAbility("Fire Ball");
        mySpellBook.EnemyLearnAbility("Melt");
        mySpellBook.EnemyLearnAbility("Combustion");

        myPassiveManager.ModifyFieryAura(3);

        myMainHandWeapon = ItemLibrary.Instance.GetItemByName("Simple Staff");
    }
Esempio n. 21
0
    public void PlaceItemOnCharacterSlot(InventoryItemCard itemCard, CharacterItemSlot characterSlot)
    {
        Debug.Log("InventoryController.PlaceItemOnCharacterSlot() called, placing item " + itemCard.myItemData.Name +
                  " on character slot " + characterSlot.mySlotType.ToString());

        itemCard.transform.position   = characterSlot.transform.position;
        itemCard.transform.localScale = new Vector3(1, 1, 1);
        if (itemCard.myInventorySlot != null)
        {
            itemCard.myInventorySlot.occupied   = false;
            itemCard.myInventorySlot.myItemCard = null;
            itemCard.myInventorySlot            = null;
        }

        itemCard.equipted = true;
        itemCard.transform.SetParent(characterSlot.transform);
        characterSlot.myItem          = itemCard;
        itemCard.transform.localScale = new Vector3(1, 1, 1);

        // Weapon specific set up
        if (characterSlot.mySlotType == CharacterItemSlot.SlotType.MainHand)
        {
            characterSlot.myCharacterData.mainHandWeapon = itemCard.myItemData;
        }
        else if (characterSlot.mySlotType == CharacterItemSlot.SlotType.OffHand)
        {
            characterSlot.myCharacterData.offHandWeapon = itemCard.myItemData;
        }

        // Check for weapon slot changes, then update weapon related abilities
        if (itemCard.myItemData.itemType == ItemDataSO.ItemType.MeleeOneHand ||
            itemCard.myItemData.itemType == ItemDataSO.ItemType.MeleeTwoHand ||
            itemCard.myItemData.itemType == ItemDataSO.ItemType.RangedTwoHand ||
            itemCard.myItemData.itemType == ItemDataSO.ItemType.Shield)
        {
            UpdateCharacterAbilitiesFromWeapons(characterSlot.myCharacterData);
        }

        // apply item view to char data model
        CharacterModelController.ApplyItemDataAppearanceToModel(itemCard.myItemData, characterSlot.myCharacterData.myCharacterModel, characterSlot.mySlotType);
        // apply to char data model ON BUTTON
        CharacterModelController.ApplyItemDataAppearanceToModel(itemCard.myItemData, characterSlot.myCharacterData.myModelOnButton, characterSlot.mySlotType);

        itemCard.SetRayCastingState(true);
    }
Esempio n. 22
0
    public override void SetBaseProperties()
    {
        myName = "Goblin Shield Bearer";
        base.SetBaseProperties();

        CharacterModelController.SetUpAsGoblinShieldBearerPreset(myModel);

        mySpellBook.EnemyLearnAbility("Move");
        mySpellBook.EnemyLearnAbility("Strike");
        mySpellBook.EnemyLearnAbility("Provoke");
        mySpellBook.EnemyLearnAbility("Testudo");

        myPassiveManager.ModifyNimble(1);
        myPassiveManager.ModifyCautious(4);

        myMainHandWeapon = ItemLibrary.Instance.GetItemByName("Simple Sword");
        myOffHandWeapon  = ItemLibrary.Instance.GetItemByName("Simple Shield");
    }
Esempio n. 23
0
    public override void SetBaseProperties()
    {
        myName = "Skeleton Priest";
        base.SetBaseProperties();

        CharacterModelController.SetUpAsSkeletonPriestPreset(myModel);

        mySpellBook.EnemyLearnAbility("Move");
        mySpellBook.EnemyLearnAbility("Strike");
        mySpellBook.EnemyLearnAbility("Chaos Bolt");
        mySpellBook.EnemyLearnAbility("Healing Light");
        mySpellBook.EnemyLearnAbility("Invigorate");

        //myPassiveManager.ModifyUndead();
        myPassiveManager.ModifyEncouragingAura(10);

        myMainHandWeapon = ItemLibrary.Instance.GetItemByName("Simple Staff");
    }
Esempio n. 24
0
    public override void SetBaseProperties()
    {
        myName = "Skeleton Mage";
        base.SetBaseProperties();

        CharacterModelController.SetUpAsSkeletonMagePreset(myModel);

        mySpellBook.EnemyLearnAbility("Move");
        mySpellBook.EnemyLearnAbility("Strike");
        mySpellBook.EnemyLearnAbility("Fire Ball");
        mySpellBook.EnemyLearnAbility("Frost Bolt");
        mySpellBook.EnemyLearnAbility("Icy Focus");

        // myPassiveManager.ModifyUndead();
        myPassiveManager.ModifyFlux(1);

        myMainHandWeapon = ItemLibrary.Instance.GetItemByName("Simple Staff");
    }
Esempio n. 25
0
    public override void SetBaseProperties()
    {
        myName = "Skeleton Necromancer";
        base.SetBaseProperties();

        CharacterModelController.SetUpAsSkeletonNecromancerPreset(myModel);

        mySpellBook.EnemyLearnAbility("Move");
        mySpellBook.EnemyLearnAbility("Strike");
        mySpellBook.EnemyLearnAbility("Summon Toxic Zombie");
        mySpellBook.EnemyLearnAbility("Toxic Rain");
        mySpellBook.EnemyLearnAbility("Chemical Reaction");
        mySpellBook.EnemyLearnAbility("Drain");

        myPassiveManager.ModifyToxicAura(2);

        myMainHandWeapon = ItemLibrary.Instance.GetItemByName("Simple Staff");
    }
Esempio n. 26
0
    public override void SetBaseProperties()
    {
        myName = "Skeleton Warrior";
        base.SetBaseProperties();

        CharacterModelController.SetUpAsSkeletonWarriorPreset(myModel);

        mySpellBook.EnemyLearnAbility("Move");
        mySpellBook.EnemyLearnAbility("Strike");
        mySpellBook.EnemyLearnAbility("Inspire");
        mySpellBook.EnemyLearnAbility("Provoke");
        mySpellBook.EnemyLearnAbility("Fortify");

        // myPassiveManager.ModifyUndead();
        myPassiveManager.ModifyThorns(3);

        myMainHandWeapon = ItemLibrary.Instance.GetItemByName("Simple Sword");
        myOffHandWeapon  = ItemLibrary.Instance.GetItemByName("Simple Shield");
    }
Esempio n. 27
0
    public override void SetBaseProperties()
    {
        myName = "Demon Berserker";
        base.SetBaseProperties();

        CharacterModelController.SetUpAsDemonBerserkerPreset(myModel);

        mySpellBook.EnemyLearnAbility("Move");
        mySpellBook.EnemyLearnAbility("Strike");
        mySpellBook.EnemyLearnAbility("Charge");
        mySpellBook.EnemyLearnAbility("Whirlwind");
        mySpellBook.EnemyLearnAbility("Smash");
        mySpellBook.EnemyLearnAbility("Kick To The Balls");

        myPassiveManager.ModifyUnstoppable(1);
        myPassiveManager.ModifyEnrage(2);

        myMainHandWeapon = ItemLibrary.Instance.GetItemByName("Simple Battle Axe");
    }
Esempio n. 28
0
    // Initialization + Setup
    #region
    public void InitializeSetup(Enemy enemy)
    {
        // Establish enemy connection
        myEnemy = enemy;

        // Fix camera/canvas issue weirdness
        myParentRenderCanvas             = GetComponentInParent <Canvas>();
        myParentRenderCanvas.worldCamera = CameraManager.Instance.unityCamera.mainCamera;

        // Build character model
        // CharacterModelController.BuildModelFromPresetString(myModel, myEnemy.myName);
        CharacterModelController.BuildModelFromModelClone(myModel, myEnemy.myModel);
        myModel.SetIdleAnim();

        // Set up text files
        characterNameText.text = enemy.myName;

        // Core stats
        strengthText.text   = enemy.currentStrength.ToString();
        dexterityText.text  = enemy.currentDexterity.ToString();
        wisdomText.text     = enemy.currentWisdom.ToString();
        staminaText.text    = enemy.currentStamina.ToString();
        mobilityText.text   = enemy.currentMobility.ToString();
        initiativeText.text = enemy.currentInitiative.ToString();

        // Secondary stats
        criticalText.text   = enemy.currentCriticalChance.ToString();
        dodgeText.text      = enemy.currentDodgeChance.ToString();
        parryText.text      = enemy.currentParryChance.ToString();
        auraSizeText.text   = enemy.currentAuraSize.ToString();
        dodgeText.text      = enemy.currentDodgeChance.ToString();
        maxEnergyText.text  = enemy.currentMaxEnergy.ToString();
        meleeRangeText.text = enemy.currentMeleeRange.ToString();

        // Resistances
        physicalResistanceText.text = enemy.currentPhysicalResistance.ToString();
        fireResistanceText.text     = enemy.currentFireResistance.ToString();
        frostResistanceText.text    = enemy.currentFrostResistance.ToString();
        poisonResistanceText.text   = enemy.currentPoisonResistance.ToString();
        airResistanceText.text      = enemy.currentAirResistance.ToString();
        shadowResistanceText.text   = enemy.currentShadowResistance.ToString();
    }
Esempio n. 29
0
    public override void SetBaseProperties()
    {
        myName = "Dark Elf Ranger";
        base.SetBaseProperties();

        CharacterModelController.SetUpAsDarkElfRangerPreset(myModel);

        mySpellBook.EnemyLearnAbility("Move");
        mySpellBook.EnemyLearnAbility("Shoot");
        mySpellBook.EnemyLearnAbility("Impaling Bolt");
        mySpellBook.EnemyLearnAbility("Pinning Shot");
        mySpellBook.EnemyLearnAbility("Overwatch");
        mySpellBook.EnemyLearnAbility("Snipe");

        // myPassiveManager.ModifyStealth(1);
        myPassiveManager.ModifyFlux(1);
        myPassiveManager.ModifyTrueSight(1);

        myMainHandWeapon = ItemLibrary.Instance.GetItemByName("Simple Bow");
    }
Esempio n. 30
0
    public override void SetBaseProperties()
    {
        myName = "Demon Hell Guard";
        base.SetBaseProperties();

        CharacterModelController.SetUpAsDemonHellGuardPreset(myModel);

        mySpellBook.EnemyLearnAbility("Move");
        mySpellBook.EnemyLearnAbility("Strike");
        mySpellBook.EnemyLearnAbility("Testudo");
        mySpellBook.EnemyLearnAbility("Fortify");
        mySpellBook.EnemyLearnAbility("Shield Slam");
        mySpellBook.EnemyLearnAbility("Provoke");

        myPassiveManager.ModifyUnwavering(1);
        myPassiveManager.ModifyCautious(5);

        myMainHandWeapon = ItemLibrary.Instance.GetItemByName("Simple Sword");
        myOffHandWeapon  = ItemLibrary.Instance.GetItemByName("Simple Shield");
    }
    /// <summary>
    /// Initialize everything
    /// </summary>
    public void Awake()
    {
        _ccc = GetComponent<CharacterControllerCustom>();
        _sizeDrop = GetComponent<CharacterSize>();
        modelDrop = GetComponentInChildren<CharacterModelController>();

        _trajectoryPoints = new Vector3[numOfTrajectoryPoints];

        for (int i = 0; i < numOfTrajectoryPoints; i++) {
            _trajectoryPoints[i] = transform.position;
        }

        _linerenderer = (LineRenderer)Instantiate(renderer);
        _linerenderer.transform.parent = this.transform;

        //create the object where to store particles
        _rainParticles = new GameObject();
        _rainParticles.transform.parent = this.transform;
        _rainParticles.name = "Rainbow Particle";
        //we init only 20, we usually don't use more. If needed, will create more
        _particlesTrajectory = new List<ParticleSystem[]>(20);
        for (int i = 0; i < 20; i++) {
            GameObject system = Instantiate(particleRainbow);
            system.transform.parent = _rainParticles.transform;

            //initialize particle system
            ParticleSystem[] subSystems = system.GetComponentsInChildren<ParticleSystem>();
            foreach (ParticleSystem subSystem in subSystems) {
                subSystem.randomSeed = (uint)UnityEngine.Random.Range(0, int.MaxValue);
                subSystem.Simulate(0, true, true);
                subSystem.Play();

                ParticleSystem.EmissionModule emission = subSystem.emission;
                emission.enabled = false;
            }
            _particlesTrajectory.Add(subSystems);
        }
    }