コード例 #1
0
 public void registerEquipment(EquipmentItemBasis equipment)
 {
     //Debug.logger.Log("装備登録", string.Format("O:{0} E:{1}", Equipment, equipment));
     Equipment = equipment;
 }
コード例 #2
0
 public EquipmentItemBasis removeEquipment(EquipmentItemBasis equip,bool playsound,bool forcedremove)
 {
     EquipmentItemBasis ret=null;
     Debug.logger.LogFormat(LogType.Log, "Remove {0}", equip.Name);
     switch (equip.Code) {
         case ItemBasis.ItemCode.WEAPON:
             ret = Weapon;
             break;
         case ItemBasis.ItemCode.SHIELD:
             ret = Shield;
             break;
         case ItemBasis.ItemCode.SHOTITEM:
            ret = ShotItem;
             break;
         case ItemBasis.ItemCode.BANGLE:
             int idx = Array.IndexOf(Bangles, equip as BangleBasis);
             Debug.logger.LogFormat(LogType.Log, "Remove {0}:{1}", equip.Name, idx);
             idx = idx >= 0 ? idx : nextbanglepos;
             Debug.logger.LogFormat(LogType.Log, "Remove {0}:{1}", equip.Name, idx);
             ret = Bangles[idx];
             break;
     }
     if (ret != null)
     {
         if (ret.IsCursed && !forcedremove)
         {
             GameController.PlayingLogger.addLogFormat("{0} は呪われていて外せない!",ret.Name);
             return null;
         }
         else
         {
             ret.remove();
             switch (ret.Code)
             {
                 case ItemBasis.ItemCode.WEAPON:
                     Weapon = WeaponBasis.Dummy;
                     break;
                 case ItemBasis.ItemCode.SHIELD:
                     Shield = ShieldBasis.Dummy;
                     break;
                 case ItemBasis.ItemCode.SHOTITEM:
                     ShotItem = ShotItemBasis.Dummy;
                     break;
                 case ItemBasis.ItemCode.BANGLE:
                     int idx = Array.IndexOf(Bangles, ret);
                     Bangles[idx] = BangleBasis.Dummy;
                     break;
             }
         }
         if (playsound) GameController.SoundController.playSE(SoundNameList.Player_Equip);
         return ret;
     }
     else {
         return null;
     }
 }
コード例 #3
0
 public bool swapEquipment(EquipmentItemBasis item,bool playsound = true)
 {
     var ret = removeEquipment(item,playsound,false);
     if (ret != null) {
         equip(item, playsound);
         return true;
     }
     return false;
 }
コード例 #4
0
 public void equip(EquipmentItemBasis equipment,bool playsound = true,bool fromsavedata = false)
 {
     Debug.LogFormat("{0}",equipment.Name);
     equipment.equip(this.Controller as PlayerController,fromsavedata);
     if (equipment is WeaponBasis) { Weapon = equipment as WeaponBasis; }
     else if (equipment is ShieldBasis) { Shield = equipment as ShieldBasis; }
     else if (equipment is ShotItemBasis) { ShotItem = equipment as ShotItemBasis; }
     else if (equipment is BangleBasis) {
         Bangles[nextbanglepos] = equipment as BangleBasis;
         nextbanglepos = (nextbanglepos + 1) % Bangles.Length;
     }
     if(playsound) GameController.SoundController.playSE(SoundNameList.Player_Equip);
 }
コード例 #5
0
 public bool equippingOtherEquipment(EquipmentItemBasis target)
 {
     if (target is WeaponBasis) { return Weapon != WeaponBasis.Dummy && (WeaponBasis)target != Weapon; }
     else if (target is ShieldBasis) { return Shield != ShieldBasis.Dummy && (ShieldBasis)target != Shield; }
     else if (target is ShotItemBasis) { return ShotItem != ShotItemBasis.Dummy && (ShotItemBasis)target != ShotItem; }
     else if (target is BangleBasis) { return Array.TrueForAll(Bangles, b => b != BangleBasis.Dummy && (BangleBasis)target != b); }
     return false;
 }
コード例 #6
0
 public void removeEquipmen(PlayerController character, EquipmentItemBasis equipment)
 {
     string str = character.Parameter.Name + "は" + equipment.Name + "をはずした。";
     addLog(str);
     //throw new NotImplementedException();
 }
コード例 #7
0
 public void removeEquipment(EquipmentItemBasis item, bool showlog,bool playsound,bool forcedremove)
 {
     EquipmentItemBasis remove = Parameter.removeEquipment(item,playsound,forcedremove);
     if (remove == null) return;
     if (showlog) GameController.PlayingLogger.removeEquipmen(this, remove);
 }
コード例 #8
0
 public bool equiped(EquipmentItemBasis target)
 {
     if (target == null) return false;
     return Parameter.Weapon == target || Parameter.Shield == target || Parameter.ShotItem == target || Array.Exists(Parameter.Bangles,b => b== target);
 }
コード例 #9
0
    public void equip(EquipmentItemBasis equipment,bool playsound)
    {
        //Debug.Log("OtherEquipment?:"+Parameter.equippingOtherEquipment(equipment));
        bool success = true;
        bool otherequip = Parameter.equippingOtherEquipment(equipment);
        Debug.logger.LogFormat(LogType.Log,"{0} : {1}",equipment.Name,otherequip);
        if (otherequip) {
            success = Parameter.swapEquipment(equipment,playsound);

        }
        else { Parameter.equip(equipment,playsound); }
        if (success) {
            GameController.PlayingLogger.equip(this, equipment);
            if (equipment.IsCursed)
            {
                GameController.PlayingLogger.addLogFormat("{0} は呪われていた!", equipment.Name);
                GameController.SoundController.playSE(SoundNameList.SE_ItemCursed);
            }
        }
    }
コード例 #10
0
 public CMD_RemovaEqipment(PlayerController owner, EquipmentItemBasis target)
     : base(owner)
 {
     Target = target;
 }