示例#1
0
 public static string getBaseTable(ObjType type)
 {
     switch (type)
     {
         case ObjType.Hero:
         case ObjType.Wish:
             return type.ToString() + "es";
         default:
             return type.ToString() + "s";
     }
 }
 public RegisteredObject GetRegistrationInfo()
 {
     return(new RegisteredObject
     {
         Id = ObjectId,
         AvailableAmount = AvailableAmount,
         Info = String.Format("{0} ({1})", NameOrTitle ?? ObjType.ToString(), YearCreated)
     });
 }
示例#3
0
    private GameObject LoadPrefab(ObjType varType)
    {
        GameObject tmpPrefab;

        if (!allPrefab.TryGetValue(varType, out tmpPrefab))
        {
            tmpPrefab = Resources.Load <GameObject>("Prefabs/" + varType.ToString());
        }
        return(tmpPrefab);
    }
示例#4
0
 public void Build()
 {
     objType = Type.GetType(typeName);
     if (objType == null)
     {
         throw new DataException(ErrorCodes.UnkownObject);
     }
     foreach (PropertyInfo pi in objType.GetProperties())
     {
         if (propertyDict.ContainsKey(pi.Name))
         {
             propertyDict[pi.Name].Info = pi;
         }
     }
     foreach (Property p in propertyDict.Values)
     {
         if (p.Info == null)
         {
             string s = string.Format("{0}.{1}", ObjType.ToString(), p.Name);
             throw new DataException(s, ErrorCodes.UnkownProperty);
         }
     }
 }
示例#5
0
        // Generics, <T>, doesn't seem to work with classes?
        static Obj allocateObject(int size, ObjType type)
        {
            Obj object_ = null;

            switch (type)
            {
            case ObjType.OBJ_STRING:
                object_ = new ObjString();
                break;

            case ObjType.OBJ_FUNCTION:
                object_ = new ObjFunction();
                break;

            case ObjType.OBJ_INSTANCE:
                object_ = new ObjInstance();
                break;

            case ObjType.OBJ_NATIVE:
                object_ = new ObjNative();
                break;

            case ObjType.OBJ_CLOSURE:
                object_ = new ObjClosure();
                break;

            case ObjType.OBJ_UPVALUE:
                object_ = new ObjUpvalue();
                break;

            case ObjType.OBJ_CLASS:
                object_ = new ObjClass();
                break;

            case ObjType.OBJ_BOUND_METHOD:
                object_ = new ObjBoundMethod();
                break;

            default:
                object_ = null;    // clox: (Obj*)reallocate(NULL, 0, size);
                break;
            }

            object_.type     = type;
            object_.isMarked = false;

            object_.next  = VM.vm.objects;
            VM.vm.objects = object_;

#if DEBUG_LOG_GC
            System.Console.WriteLine("{0} allocate {1} for {2}", object_._mem_id.ToString(), size.ToString(), type.ToString());
#endif
            return(object_);
        }