Ejemplo n.º 1
0
    /* パーティーを表示 */
    public static void DrawParty(Party party)
    {
        // インスタンス化
        GameObject canvas = GameObject.Find("PartyCanvas");

        if (canvas == null)
        {
            canvas      = Utility._Object.GenerateCanvas(5);
            canvas.name = "PartyCanvas";
        }

        string FilePath = "Prefabs\\Party\\Party";

        partyObj     = Utility._Object.MyInstantiate(FilePath, canvas);
        mPartyScript = partyObj.GetComponent <mPartyObject>();
        mPartyScript.FindObjectAddress();
        mPartyScript.SetPartyName(party.partyName);

        // キャラクタの情報をセットしていく
        for (int i = 0; i < party.partyCharacter.Length; i++)
        {
            PartyCharacter pChara = party.partyCharacter[i];
            if (pChara.characterId == -1)
            {
                mPartyScript.SetStandImage(i, "Images/Stand/c999");
                mPartyScript.FrameSetActive(i, false);
                continue;
            }

            mPartyScript.SetHpText(i, pChara.cs.maxHp);
            mPartyScript.SetStandImage(i, pChara.cs.standGraphicPath);
            mPartyScript.SetElement(i, pChara.cs.element);
            mPartyScript.FrameSetActive(i, true);
        }
    }
Ejemplo n.º 2
0
        public TurnAction DoTurn(PartyCharacter target)
        {
            if (this.CurrentHP > 0)
            {
                // Utilise la compétence ayant la plus grosse valeur d'attaque avec un coût en point d'action inférieur aux points d'action restant et ayant un cooldown restant de 0
                Ability ability = this.Abilities.Where(i => (i.currentCooldown == 0) && (i.ActionPoint <= this.ActionPoints)).OrderByDescending(i => Math.Abs(i.Value)).FirstOrDefault();

                if (ability != null)
                {
                    TurnAction action = new TurnAction
                    {
                        Action     = ability.DoAbility,
                        ActionName = $"L'adversaire utilise la compétence {ability.Name}",
                        Source     = this,
                        Target     = target
                    };
                    return(action);
                }
                // Si aucune compétence n'est utilisable
                else
                {
                    UI.Display($"{this.Name} passe son tour !");
                    return(null);
                }
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 3
0
 public void AddPassiveEffects(PartyCharacter pchar)
 {
     foreach (A_Passive passive in this.passives)
     {
         passive.AddPassiveEffect(pchar);
     }
 }
Ejemplo n.º 4
0
    private PartyCharacter CreateNewPartyCharacter(int inventoryNum)
    {
        PartyCharacter c = new PartyCharacter(inventoryNum);

        // Create the ability and assign to the character.
        GameEnum.AbilityName abilityName = GameManager.instance.Data.GetInventoryCharacterAbilityName(inventoryNum);
        c.SetAbility(GameManager.instance.Data.CloneAbility(abilityName, airship));

        return(c);
    }
Ejemplo n.º 5
0
 public void Refresh()
 {
     list.QueueFreeChildren();
     buttons.Clear();
     foreach (CharacterEntity member in Family.familyMembers.Where(e => e.ageGroup >= Date.AgeGroup.TEEN))
     {
         PartyCharacter character = PartyCharacter.CreateParty(member);
         list.AddChild(character);
         character.Connect("pressed", this, nameof(on_ToggleMember), Global.ArrayFrom(member));
         buttons[member] = character;
     }
 }
Ejemplo n.º 6
0
    public void SetPartyCharacter(PartyCharacter character)
    {
        this.character = character;

        // Update the displays
        foreach (DisplayProperties dp in this.displayProperties)
        {
            dp.iconImage.sprite   = character.Icon;
            dp.nameText.text      = character.Name;
            dp.hpImage.fillAmount = m_maxFill;
            dp.mpImage.fillAmount = m_maxFill;

            dp.roleName.text = string.Format("Lv. {0} {1}", GameHelper.ConvertExpToLevel(character.Exp).ToString(), character.Role.ToString());

            if (this.displayType == GameEnum.DisplayType.CIRCLE)
            {
                dp.cdImage.fillAmount = 0.0f;
            }
            else
            {
                dp.cdImage.fillAmount = m_maxFill;
            }

            dp.hpText.text = string.Format("{0} / {1}", character.CurHp.ToString(), character.MaxHp.ToString());
            dp.mpText.text = string.Format("{0} / {1}", character.CurMp.ToString(), character.MaxMp.ToString());
        }

        // Set tooltip info.
        if (character.Ability != null)
        {
            GameEnum.AbilityName abilityName = character.Ability.AbilityName;
            this.tooltipProperties.tooltipAbilityName.text     = GameManager.instance.Data.GetAbilityStringName(abilityName);
            this.tooltipProperties.tooltipAbilityDesc.text     = GameManager.instance.Data.GetAbilityDesc(abilityName);
            this.tooltipProperties.tooltipAbilityMana.text     = GameManager.instance.Data.GetAbilityStringManaCost(abilityName).ToString();
            this.tooltipProperties.tooltipAbilityCooldown.text = GameManager.instance.Data.GetAbilityStringCooldown(abilityName).ToString();
            this.tooltipProperties.tooltipParent.SetActive(false);

            if (this.character.CurMp < this.character.MaxMp)
            {
                this.RechargeMana();
            }
        }
        else
        {
            this.tooltipProperties.tooltipAbilityName.text     = "";
            this.tooltipProperties.tooltipAbilityDesc.text     = "";
            this.tooltipProperties.tooltipAbilityMana.text     = "";
            this.tooltipProperties.tooltipAbilityCooldown.text = "";
            this.tooltipProperties.tooltipParent.SetActive(false);
        }
    }
Ejemplo n.º 7
0
    public void ActivateAbility(int charNum)
    {
        if (charNum < this.charactersInAirship.Length)
        {
            PartyCharacter c = this.charactersInAirship [charNum];

            if (c.CanUseAbility())
            {
                // Set the activated character number.
                this.activatedCharNum = charNum;

                // Activate the character's ability to be used.
                this.charactersInAirship[charNum].ActivateAbility();
            }
        }
    }
Ejemplo n.º 8
0
    public void SetPlayerParty(PartyCharacterData[] newCharacters, int[] charIndexes)
    {
        playerParty = new PartyCharacter[4];
        for (int i = 0; i < 4; i++)
        {
            playerParty[i] = new PartyCharacter();
            if (i < newCharacters.Length)
            {
                playerParty[i].animations               = newCharacters[i].animations;
                playerParty[i].hoverAnim                = newCharacters[i].hoverAnim;
                playerParty[i].hoverDist                = newCharacters[i].hoverDist;
                playerParty[i].hoverTime                = newCharacters[i].hoverTime;
                playerParty[i].charName                 = newCharacters[i].charName;
                playerParty[i].maxHP                    = newCharacters[i].maxHP;
                playerParty[i].maxMP                    = newCharacters[i].maxMP;
                playerParty[i].attack                   = newCharacters[i].attack;
                playerParty[i].subAttack                = newCharacters[i].subAttack;
                playerParty[i].defense                  = newCharacters[i].defense;
                playerParty[i].mentalDef                = newCharacters[i].mentalDef;
                playerParty[i].turnSpeed                = newCharacters[i].turnSpeed;
                playerParty[i].statusEffects            = new List <Character.StatusEffect>();
                playerParty[i].weaknessesAndResistances = newCharacters[i].weaknessesAndResistances;
                playerParty[i].damageTypeUnlocks        = newCharacters[i].damageTypeUnlocks;
                playerParty[i].skills                   = newCharacters[i].skills;

                playerParty[i].possibleCharacterIndex = charIndexes[i];
                playerParty[i].charExp = possiblePartyMemberExp[playerParty[i].possibleCharacterIndex];

                playerParty[i].charType      = newCharacters[i].charType;
                playerParty[i].charSubtype   = newCharacters[i].charSubtype;
                playerParty[i].movementSpeed = newCharacters[i].movementSpeed;
                playerParty[i].focusSpeed    = newCharacters[i].focusSpeed;
                playerParty[i].portrait      = newCharacters[i].portrait;
                playerParty[i].charLevel     = 1;

                playerParty[i].shmupData     = newCharacters[i].shmupData;
                playerParty[i].shotTypeEquip = newCharacters[i].defaultShot;
            }
            else
            {
                playerParty[i].charName = "na";
            }
        }
        FullHealParty();
    }
Ejemplo n.º 9
0
    // Use this for initialization
    void Start()
    {
        GameManager.instance.InGameController = this;

        // Get the airship prefab from scriptable.
        GameObject gobj = GameManager.instance.Data.GetCurrentAirshipPrefab(GameManager.instance.Data.GetCurrentAirshipName());

        if (gobj != null)
        {
            this.airship = (GameObject.Instantiate(gobj, this.playerStartPoint.position, Quaternion.identity) as GameObject).GetComponent <Airship_Player>();
        }

        if (this.airship == null)
        {
            Debug.Log("airship not found");
        }
        else
        {
            this.cm.SetTarget(this.airship.transform);
        }

        // Disable move target gobj.
        this.moveTargetGobj.SetActive(false);

        // Initialize boundaries.
        this.bounds = new Bounds(Vector3.zero, new Vector3(95f, 0, 95f));

        // Get characters that are currently in airship.
        this.charactersInAirship = new PartyCharacter[GameManager.instance.Data.GetCharactersInAirship().Length];
        for (int i = 0; i < this.charactersInAirship.Length; i++)
        {
            int inventoryNum = GameManager.instance.Data.GetCharactersInAirship()[i];

            // Create character.
            PartyCharacter c = this.CreateNewPartyCharacter(inventoryNum);

            // Assign character and ability to visual component.
            this.pmc.SetPartyCharacter(c, i);
            this.charactersInAirship[i] = c;
            this.igm.SetCharOnDeck(i, c.Icon);
        }

        // Get characters on standby in the airship.
        this.charactersStandbyInAirship = new PartyCharacter[GameManager.instance.Data.GetCharactersStandbyInAirship().Length];
        for (int i = 0; i < this.charactersStandbyInAirship.Length; i++)
        {
            int inventoryNum = GameManager.instance.Data.GetCharactersStandbyInAirship()[i];

            // Create character.
            PartyCharacter c = this.CreateNewPartyCharacter(inventoryNum);

            // Store in standby array.
            this.charactersStandbyInAirship[i] = c;
            this.igm.SetCharOnStandby(i, c.Icon);
        }

        this.mc.SetMission(GameManager.instance.Data.GetCurrentMission());
        this.mc.CloseMenu();

        this.igm.gameObject.SetActive(false);
    }
Ejemplo n.º 10
0
    /// <summary>
    /// Pickup a character crew from the ground.
    /// </summary>
    /// <param name="character">Character.</param>

    /*public void PickupCrew (GameEnum.CharacterName character){
     *      GameManager.instance.Data.AddNewCharacterToInventory (character);
     *      GameManager.instance.Data.Save ();
     * }*/

    // In game menu options.
    public void SwapCharacters(int slotNum0, bool onStandby0, int slotNum1, bool onStandby1)
    {
        PartyCharacter temp;

        if (onStandby0)
        {
            if (onStandby1)
            {
                int inventory0 = GameManager.instance.Data.GetCharactersStandbyInAirship() [slotNum0];
                int inventory1 = GameManager.instance.Data.GetCharactersStandbyInAirship() [slotNum1];
                GameManager.instance.Data.SetCharacterStandbyInAirship(inventory1, slotNum0);
                GameManager.instance.Data.SetCharacterStandbyInAirship(inventory0, slotNum1);
            }
            else
            {
                int inventory0 = GameManager.instance.Data.GetCharactersStandbyInAirship() [slotNum0];
                int inventory1 = GameManager.instance.Data.GetCharactersInAirship() [slotNum1];
                GameManager.instance.Data.SetCharacterStandbyInAirship(inventory1, slotNum0);
                GameManager.instance.Data.SetCharacterInAirship(inventory0, slotNum1);

                // Create character.
                PartyCharacter c1 = this.CreateNewPartyCharacter(inventory0);
                this.pmc.SetPartyCharacter(c1, slotNum1);
                this.charactersInAirship[slotNum1] = c1;
            }
        }
        else
        {
            if (onStandby1)
            {
                int inventory0 = GameManager.instance.Data.GetCharactersInAirship() [slotNum0];
                int inventory1 = GameManager.instance.Data.GetCharactersStandbyInAirship() [slotNum1];
                GameManager.instance.Data.SetCharacterInAirship(inventory1, slotNum0);
                GameManager.instance.Data.SetCharacterStandbyInAirship(inventory0, slotNum1);

                // Create character.
                PartyCharacter c0 = this.CreateNewPartyCharacter(inventory1);
                this.pmc.SetPartyCharacter(c0, slotNum0);
                this.charactersInAirship[slotNum0] = c0;
            }
            else
            {
                int inventory0 = GameManager.instance.Data.GetCharactersInAirship() [slotNum0];
                int inventory1 = GameManager.instance.Data.GetCharactersInAirship() [slotNum1];
                GameManager.instance.Data.SetCharacterInAirship(inventory1, slotNum0);
                GameManager.instance.Data.SetCharacterInAirship(inventory0, slotNum1);

                // Create character.
                PartyCharacter c0 = this.CreateNewPartyCharacter(inventory1);
                this.pmc.SetPartyCharacter(c0, slotNum0);
                this.charactersInAirship[slotNum0] = c0;

                PartyCharacter c1 = this.CreateNewPartyCharacter(inventory0);
                this.pmc.SetPartyCharacter(c1, slotNum1);
                this.charactersInAirship[slotNum1] = c1;
            }
        }

        // Create the ability and assign to the character.

        /*GameEnum.AbilityName abilityName = GameManager.instance.Data.GetInventoryCharacterAbilityName(inventoryNum);
         * c.SetAbility(GameManager.instance.Data.CloneAbility(abilityName, airship));
         *
         * // Assign character and ability to visual component.
         * this.pmc.SetPartyCharacter(char0, abilityName, i);*/
    }
Ejemplo n.º 11
0
 public void SetPartyCharacter(PartyCharacter character, int partyIndex)
 {
     this.partyCharacters [partyIndex].SetPartyCharacter(character);
 }
Ejemplo n.º 12
0
 public abstract void AddPassiveEffect(PartyCharacter pchar);
Ejemplo n.º 13
0
 public override void AddPassiveEffect(PartyCharacter pchar)
 {
     pchar.Bonus.damagePercentBonus += 15;
 }