60 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
#if (hxcpp_api_level>=400)
 | 
						|
import cpp.Native;
 | 
						|
#end
 | 
						|
 | 
						|
class HostBase implements IHostInterface
 | 
						|
{
 | 
						|
   static var hostInit = 10;
 | 
						|
   public static var hostBool0 = true;
 | 
						|
   public static var hostBool1 = false;
 | 
						|
   public static var hostBool2 = true;
 | 
						|
   public static var hostBool3 = false;
 | 
						|
 | 
						|
   var floatVal:Float;
 | 
						|
   var pointerSrc:cpp.Star<Int>;
 | 
						|
   var pointerDest:cpp.Star<Int>;
 | 
						|
 | 
						|
   public function new()
 | 
						|
   {
 | 
						|
      floatVal = 1.25;
 | 
						|
      #if (hxcpp_api_level>=400)
 | 
						|
      pointerSrc = Native.malloc( Native.sizeof(Int) );
 | 
						|
      Native.set(pointerSrc,4);
 | 
						|
      pointerDest = null;
 | 
						|
      #end
 | 
						|
   }
 | 
						|
 | 
						|
   public function getDestVal() : Int
 | 
						|
   {
 | 
						|
      #if (hxcpp_api_level>=400)
 | 
						|
      if (pointerDest==null)
 | 
						|
         return -1;
 | 
						|
      return Native.get(pointerDest);
 | 
						|
      #else
 | 
						|
      return 4;
 | 
						|
      #end
 | 
						|
   }
 | 
						|
 | 
						|
   public function getYou() : HostBase
 | 
						|
   {
 | 
						|
      return this;
 | 
						|
   }
 | 
						|
 | 
						|
   public function testUpdateOverride() : Bool
 | 
						|
   {
 | 
						|
      return update()=="ClientExtends2 update";
 | 
						|
   }
 | 
						|
 | 
						|
 | 
						|
   public function getVal() return floatVal;
 | 
						|
 | 
						|
   public function getGeneration() return 0;
 | 
						|
 | 
						|
   public function update() return "HostBase update";
 | 
						|
 | 
						|
   // IHostInteface 
 | 
						|
   public function hostImplOnly(i:Int, s:String, f:Float) : String return i+s+f;
 | 
						|
   public function whoStartedYou() return "HostBase";
 | 
						|
   public function whoOverridesYou() return "No one";
 | 
						|
}
 |