Example #1
0
    private int getEqalusObjectIndex(List <alias_data_struct> list_struct, alias_data_struct data_struct)
    {
        int returnvalue = -1;

        for (int i = 0; i < list_struct.Count; i++)
        {
            if (list_struct[i].Equals(data_struct))
            {
                returnvalue = i; break;
            }
        }
        return(returnvalue);
    }
Example #2
0
    public override void InstallMonster(int stair, int floor, int level, string _name)
    {
        alias_data_struct        alias_str = new alias_data_struct(stair, floor, 0.0f, level);
        List <alias_data_struct> loadStructData;

        if (alias_data_dic.ContainsKey(_name))
        {
            if (alias_data_dic.TryGetValue(_name, out loadStructData))
            {
                alias_data_dic.Remove(_name);
            }
        }
        else
        {
            loadStructData = new List <alias_data_struct>();
        }


        loadStructData.Add(alias_str);

        loadStructData.Sort(delegate(alias_data_struct x, alias_data_struct y)
        {
            if (x.Tileindex < y.Tileindex)
            {
                return(-1);
            }
            else if (x.Tileindex > y.Tileindex)
            {
                return(1);
            }
            else if (x.StairIndex < y.StairIndex)
            {
                return(-1);
            }
            else if (x.StairIndex > y.StairIndex)
            {
                return(1);
            }
            else
            {
                return(0);
            }
        });

        alias_data_dic.Add(_name, loadStructData);
        Debug.Log("Saved " + _name + " / " + alias_str.ToString() + "/ List Count" + loadStructData.Count + "/ Dictionary Count" + alias_data_dic.Count);
    }
Example #3
0
    public override void UpdateMonster(string obj_name, params object[] parameter)
    {
        List <alias_data_struct> load_struct;
        int search_index;
        int stair =
            (int)parameter[0];
        int   tile = (int)parameter[1];
        float hp   = (float)parameter[2];

        if (alias_data_dic.TryGetValue(obj_name, out load_struct) && (search_index = getEqalusObjectIndex(load_struct, stair, tile)) >= 0)
        {
            alias_data_struct objDataStruct = load_struct[search_index];
            objDataStruct.HpValue = hp;
            load_struct.RemoveAt(search_index);
            load_struct.Insert(search_index, objDataStruct);

            alias_data_dic.Remove(obj_name);
            alias_data_dic.Add(obj_name, load_struct);

            Debug.Log("Updated " + obj_name + " / " + objDataStruct.ToString());
        }
    }
Example #4
0
 public bool Equals(alias_data_struct other)
 {
     return((other.stairIndex == this.stairIndex) && (other.tileIndex == this.tileIndex));
 }