Beispiel #1
0
    public void SaveStaticObject(SerializedStaticObject.SendMessageStruct param)
    {
        param.SetComponentResult(className, false);
        var id    = GetComponent <UniqueId>().ID;
        var units = GetComponentsInChildren <SerializedDynamicObject>();

        if (!DictionaryTools <string, object> .TryToAdd(ref param.dictionary, className + "[" + id + "]._numberUnits", _numberUnits, true))
        {
            return;
        }

        var teamPrefix = className + "[" + id + "]";

        int index = 0;

        foreach (var unit in units)
        {
            if (!AddUnitToDictionary(unit, teamPrefix, index++, ref param.dictionary))
            {
                return;
            }
        }

        param.SetComponentResult(className, DictionaryTools <string, object> .TryToAdd(ref param.dictionary, className + "[" + id + "].numActiveUnits", index, true));
    }
Beispiel #2
0
    public void LoadStaticObject(SerializedStaticObject.SendMessageStruct param)
    {
        var isSuccess = false;
        var id        = GetComponent <UniqueId>().ID;

        _numEmited = (int)DictionaryTools <string, object> .TryToGet(ref param.dictionary, className + "[" + id + "]._numEmited", _numEmited, out isSuccess, false);

        if (!isSuccess)
        {
            Clear();
        }
        param.SetComponentResult(className, true);
    }
Beispiel #3
0
    public void LoadStaticObject(SerializedStaticObject.SendMessageStruct param)
    {
        param.SetComponentResult(className, false);
        RemoveAllDynamicChild();
        var  id        = GetComponent <UniqueId>().ID;
        bool isSuccess = false;

        _numberUnits = (int)DictionaryTools <string, object> .TryToGet(ref param.dictionary, className + "[" + id + "]._numberUnits", _numberUnits, out isSuccess, true);

        if (!isSuccess)
        {
            return;
        }

        var numActiveUnits = (int)DictionaryTools <string, object> .TryToGet(ref param.dictionary, className + "[" + id + "].numActiveUnits", 0, out isSuccess, true);

        if (!isSuccess)
        {
            return;
        }

        var teamPrefix = className + "[" + id + "]";

        for (var index = 0; index < numActiveUnits; ++index)
        {
            SerializedDynamicObject unit = null;
            if (!GetUnitFromDictionary(out unit, teamPrefix, index, ref param.dictionary))
            {
                return;
            }

            unit.transform.parent = transform;
        }
        ;
        param.SetComponentResult(className, true);
    }
Beispiel #4
0
    public void SaveStaticObject(SerializedStaticObject.SendMessageStruct param)
    {
        var id = GetComponent <UniqueId>().ID;

        param.SetComponentResult(className, DictionaryTools <string, object> .TryToAdd(ref param.dictionary, className + "[" + id + "]._numEmited", _numEmited, true));
    }