示例#1
0
    public override DatabaseEntry Copy()
    {
        Job temp = new Job(key);

        temp.Name        = Name;
        temp.Descript    = Descript;
        temp.AbilitNames = AbilitNames;

        temp.jobanimcontroller = jobanimcontroller;
        temp.jobportrait       = jobportrait;

        //finish copying stats and stuff
        temp.baseStats  = (StatsContainer)baseStats.Copy();
        temp.statGrowth = (StatsContainer)statGrowth.Copy();

        foreach (Discipline d in avalibleDisciples)
        {
            temp.avalibleDisciples.Add((Discipline)d.Copy());
        }

        foreach (ItemType t in allowedItemTypes)
        {
            temp.allowedItemTypes.Add(t);
        }

        temp.descript = descript;

        return(temp);
    }
示例#2
0
    public override DatabaseEntry Copy()
    {
        ActorData data = new ActorData(key);

        data.Name  = Name;
        data.Level = Level;
        data.XP    = XP;

        data.blockAttack = blockAttack;
        data.blockMove   = blockMove;

        data.cooldownMap = cooldownMap.Copy();

        data.race       = race;
        data.primaryJob = primaryJob;
        if (secondaryJob != null)
        {
            data.secondaryJob = secondaryJob;
        }
        data.selected = selected;
        //data.CanAttack = CanAttack;
        //data.CanMove = CanMove;

        data.maxStatCollection     = (StatsContainer)maxStatCollection.Copy();
        data.currentStatCollection = (StatsContainer)currentStatCollection.Copy();

        data.equipment = (Equipment)equipment.Copy();
        data.inventory = (Inventory)inventory.Copy();

        data.controller = controller;

        if (Relationships != null)
        {
            data.Relationships = Relationships.Copy();
        }

        data.portraitFilePath    = portraitFilePath;
        data.animationController = animationController;
        data.gridPosX            = gridPosX;
        data.gridPosY            = gridPosY;

        data.buffContainer   = buffContainer.Copy();
        data.isAlive         = isAlive;
        data.toolbaar        = (ToolBarData)toolbaar.Copy();
        data.deathThreshold  = deathThreshold;
        data.directionFacing = directionFacing;

        data.description = description;

        foreach (string t in actorPropertyTags)
        {
            data.actorPropertyTags.Add(t);
        }

        data.movement     = movement;
        data.JobDataState = JobDataState.Copy();

        return(data);
    }
示例#3
0
    public static StatsContainer AddSC(StatsContainer sc1, StatsContainer sc2)
    {
        StatsContainer temp = (StatsContainer)sc1.Copy();

        temp.AddStats(sc2);

        return(temp);
    }
示例#4
0
    public override BuffEffect Copy()
    {
        StatBuff sb = new StatBuff(containerType, reverseChange_on_removal);

        sb.sc = (StatsContainer)sc.Copy();

        return(sb);
    }
示例#5
0
    public virtual EquippableItem Copy()
    {
        EquippableItem e = new EquippableItem();

        e.bonusStats = (StatsContainer)bonusStats.Copy();


        // e.excludeList = excludeList;


        foreach (EquipmentSlot s in validSlots)
        {
            e.AddSlot(s);
        }

        return(e);
    }
示例#6
0
    /*
     * public void CheckAdvanceJobs(ActorData data)
     * {
     *
     *  foreach (Job job in avaliablejobs)
     *  {
     *      if(job is AdvancedJob)
     *      {
     *          AdvancedJob j = job as AdvancedJob;
     *          if (j.UnlockJob(data))
     *          {
     *              j.Unlocked = true;
     *          }
     *      }
     *
     *  }
     * }
     */

    public override DatabaseEntry Copy()
    {
        Race temp = new Race(key);

        temp.Name     = Name;
        temp.descript = descript;

        temp.statGrowth = (StatsContainer)statGrowth.Copy();
        temp.baseStats  = (StatsContainer)baseStats.Copy();

        foreach (string j in avaliablejobs)
        {
            temp.avaliablejobs.Add(j);
        }

        foreach (string t in raceTags)
        {
            temp.raceTags.Add(t);
        }

        return(temp);
    }
示例#7
0
    public override DatabaseEntry Copy()
    {
        TileTypes type = new TileTypes(key)
        {
            TileName       = TileName,
            spriteFilePath = spriteFilePath,
        };

        foreach (string s in MovementTypeCostMap.Keys.ToArray())
        {
            type.MovementTypeCostMap.Add(s, MovementTypeCostMap[s]);
        }

        foreach (string atrib in attributes)
        {
            type.attributes.Add(atrib);
        }


        type.tileBonuses = (StatsContainer)tileBonuses.Copy();


        return(type);
    }