Exemple #1
0
    private void InitTable()
    {
        TextAsset    textAsset    = Resources.Load("Tables/Sheet1") as TextAsset;
        MemoryStream memoryStream = new MemoryStream(textAsset.bytes);
        BinaryReader binaryReader = new BinaryReader(memoryStream);

        int tableCount = binaryReader.ReadInt32();

        for (int i = 0; i < tableCount; ++i)
        {
            int key = binaryReader.ReadInt32();

            Sheet1Info info = new Sheet1Info();
            info.Setname(binaryReader.ReadString());
            info.SettargetObject_Type(binaryReader.ReadInt32());
            info.SetbehaviorProperties1(binaryReader.ReadInt32());
            info.SetbehaviorProperties2(binaryReader.ReadInt32());
            info.Setvalue1(binaryReader.ReadInt32());
            info.Setvalue2(binaryReader.ReadInt32());
            info.SetbehaviorCondition1(binaryReader.ReadInt32());
            info.SetbehaviorCondition2(binaryReader.ReadInt32());
            info.SetbehaviorType(binaryReader.ReadInt32());
            info.SetbehaviorRate(binaryReader.ReadSingle());

            Table.Add(key, info);
        }
    }
    private void TargetImposeEffect(Sheet1Info tableInfo, Character target)
    {
        switch (tableInfo.m_behaviorCondition1)
        {
        default:
            break;

        case 0:
            break;

        case 1:

            break;

        case 2:

            break;

        case 3:

            break;

        case 4:

            break;
        }
    }
    private void CheckBehaviorPropertyTwo(Sheet1Info tableInfo, Character target)
    {
        switch (tableInfo.m_behaviorProperties2)
        {
        default:
            break;

        case 0:
            break;

        case 1:
            break;

        case 2:
            break;

        case 3:
            break;

        case 4:    //거리비교
            TargetCheckRange(tableInfo, target);
            break;

        case 5:
            break;

        case 6:
            break;
        }
    }
    private void CheckBehaviorPropertyOne(Sheet1Info tableInfo, Character target)
    {
        switch (tableInfo.m_behaviorProperties1)
        {
        default:
            break;

        case 1:

            break;

        case 2:    //부과효과
            TargetImposeEffect(tableInfo, target);
            break;

        case 3:
            break;

        case 4:
            break;

        case 5:
            break;

        case 6:
            break;
        }
    }
    private void TargetCheckRange(Sheet1Info tableInfo, Character target)
    {
        switch (tableInfo.m_behaviorCondition2)
        {
        case 0:
            if (tableInfo.m_value2 == target.targetRange)
            {
                //Skill.ActiveSkill(스킬인덱스)
            }
            break;

        case 1:
            break;

        case 2:
            break;

        case 3:
            break;

        case 4:
            break;

        case 5:
            break;
        }
    }
 public void SkillSelect(int skillIndex, Character target)
 {
     if (Sheet1Table.GetByKey(skillIndex) != null)
     {
         Sheet1Info tableInfo = table[skillIndex];
         if (tableInfo.m_targetObject_Type == (int)target.targetType)
         {
             CheckBehaviorPropertyOne(tableInfo, target);
         }
         else
         {
             return;
         }
     }
 }